Block Size,Splits和MapTasks的数量之间有什么关系? 如何调用地图任务?。
答案 0 :(得分:1)
由于上述答案不完整,还要考虑Mapred任务正在使用的文件是否可以拆分。具有gzip编码的文件本质上不可拆分,无论块大小和输入拆分大小如何,每个gzfile都会生成一个Mapper。
选择Mappers数量的优先顺序:
所以如果File不可拆分 - 每个文件有1个映射器
如果Splitsize> = Blocksize - 每个块1个映射器
如果分割大小<块大小 - 每个文件的块大小/分割大小的映射器。
答案 1 :(得分:0)
默认情况下,每个块只有一个InputSplit,因此每个块只有一个Map任务。要更改此行为,必须将输入格式的大小上限更改为小于最大块大小。
要查找生成的Map任务的数量(在地图运行之后),您可以使用计数器并在setup
方法中将其递增。