hadoop 文件分块,block与split关系
S_mile_S
回复
shl_gao:
首先,默认一个split含一个block
Math.min(goalSize, blockSize)如果实际文件比较小,则按照实际的文件大小进行分块,这种情况是一个block,且这个block的大小为文件大小,如果文件比blocksize大的话按照设定的blocksize进行分块
Math.max(minSize, Math.min(goalSize, blockSize)),确定split的大小,split的最小值minSize由mapred.min.split.size参数设置,正常情况下split大小为block的大小,即里边大小比较得出的结果
这样应该比较清晰了吧,里边的比较是确定block的大小,外边是确定split的大小
hadoop 文件分块,block与split关系
shl_gao:
long splitSize = computeSplitSize(goalSize, minSize, blockSize);
protected long computeSplitSize(long goalSize, long minSize, long blockSize) {
return Math.max(minSize, Math.min(goalSize, blockSize));
}
请问上面Math.max(minSize, Math.min(goalSize, blockSize));如何理解?goalSize如果大于blockSize则会选择了blockSize,如果MinSize是1个blockSize的话,最终return都是1个block啊。期待得到您的答复!谢谢!
关于ubuntu发热大,风扇狂转的解决方案
zzzw1993:
牛逼啊 大神
|