hadoop笔记之切片大小控制

转自  http://blog.csdn.net/xiaoshunzi111/article/details/48367683

HDFS的block是逻辑上的数据块.Hadoop2.0中每一块默认大小128MB,实际存储过程中block大小小于等128MB,它是以文件为存储对象.如一200MB大小文件,分两个数据块128MB+72MB  这里的两个块大实际小分别是128MB和72MB

算法分析:

max(minSize, min(maxSize,blockSize))

min(maxSize,blockSize)取maxSize,blockSize之间的最小值

max(minSize, min())取minSize, min()之间的最大值

blockSize=128MB

所以增加切片大小有要调整 min(maxSize,blockSize)中maxSize值

减小切片大小调整minSize值.

具体两个方法如下:

FileInputFormat.setMaxInputSplitSize(job, size);

FileInputFormat.setMinInputSplitSize(job, size);