从分片输入到Map
从分片输入到Map:
213123
212312
314313
231231
21312321
213213
3224234
增加map个数,可以增大mapred.map.tasks,
减少map个数,可以增大mapred.min.split.size
Map任务个数
节点map任务的个数
节点map任务的个数
节点map任务的个数:
两个问价,file1、file2(为什么会有两个文件呢),经过计算后会得到四个分片。
那么这个节点(DataNode)就会启动四个map任务。
理想文件类型
从分片输入到split
在分片输入阶段所有的文件都会在block中被计算成相应的分片。
在例子中,的DataNode有四个block组成,现在一个大小为420M的文件存放在该DataNode中(可能不是一个完整的文件)
这时分片的数量就是4
HDFS的文件是保存在块中的,
Map任务个数优化
输入文件优化
设置block大小
控制Map任务的个数:
1、增加map个数,可增大mapred.map.tasks
2、减少map个数,可增大mapred.min.split.size
如果要减少map个数,但有很多小文件,可将小文件合并成大文件,再使用准则2
节点Map任务的个数:
在实际情况下,map任务的个数是受多个条件的制约,一般一个DataNode的map任务数量控制在10到100比较合适。
在一个datanode中进行分片split
每个split对应一个map task