java shuffle

作者:原创时间:2022-04-20
文档

java shuffle是什么?让我们一起来了解一下吧!

java shuffle是java程序中的一种算法。Shuffle的意思是洗牌、混洗,把一些原本有规律规则的数据打乱变成没有规矩的数据。

我们学习shuffle的具体流程之前,要先了解以下两个概念:

1.block块(物理划分)

block是HDFS中的基本存储单位,hadoop1.x默认大小为64M而hadoop2.x默认块大小为128M。注意:当更改块大小的配置后,新上传的文件的块大小为新配置的值,以前上传的文件的块大小为以前的配置值。

2.split分片(逻辑划分)

Hadoop中split划分属于逻辑上的划分,它的目的是为了让map task更好地获取数据。split是通过hadoop中的InputFormat接口中的getSplit()方法得到的。

java程序中shuffle算法的使用方法如下:

Fisher–Yates shuffle 基本思想(Knuth shuffle ):
 
To shuffle an array a of n elements (indices 0..n-1):
 
for i from n 1 downto 1 do
 
j ← random integer with 0 ≤ j ≤ i
 
exchange a[j] and a[i]

JDK源代码如下:

/**
 
* Moves every element of the List to a random new position in the list.
 
*
 
* @param list
 
* the List to shuffle
 
*
 
* @throws UnsupportedOperationException
 
* when replacing an element in the List is not supported
 
*/
 
public static void shuffle(List list) {undefined
 
shuffle(list, new Random());

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java simhash java simpledateformat java sizeof java sm3加密 文章千古事得失寸心知是谁的名句 诚信的名言名句 关于读书的名言名句 生日的经典名句 感恩老师的名言名句 关于时间的名言名句 活着的经典名句 java snappy 杜甫的名句 java snapshot 孟浩然的名句 关于诚信的名言名句 杜甫的名言名句 杜甫的名句有哪些 杜甫的千古名句 范仲淹的名句 java sha256加密 java portal java pojo java plugin java sftp java plug-in java settimeout java platform java setlayout java serialversionuid java serializable接口 java serializable java sequence java separator java semaphore java selenium java selector java script java sandbox java rxjava