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);