如何找到产生的MapTasks数量?

时间:2013-10-29 11:18:07

标签: hadoop mapreduce

Block Size,Splits和MapTasks的数量之间有什么关系? 如何调用地图任务?。

2 个答案:

答案 0 :(得分:1)

由于上述答案不完整,还要考虑Mapred任务正在使用的文件是否可以拆分。具有gzip编码的文件本质上不可拆分,无论块大小和输入拆分大小如何,每个gzfile都会生成一个Mapper。

选择Mappers数量的优先顺序:

所以如果File不可拆分 - 每个文件有1个映射器

如果Splitsize> = Blocksize - 每个块1个映射器

如果分割大小<块大小 - 每个文件的块大小/分割大小的映射器。

答案 1 :(得分:0)

默认情况下,每个块只有一个InputSplit,因此每个块只有一个Map任务。要更改此行为,必须将输入格式的大小上限更改为小于最大块大小。

要查找生成的Map任务的数量(在地图运行之后),您可以使用计数器并在setup方法中将其递增。