块大小、拆分和 MapTask 数量之间的关系是什么?地图任务是如何调用的?
问问题
50 次
2 回答
1
由于上述答案不完整,还请考虑您的 Mapred 任务使用的文件是否本质上是可拆分的。具有 gzip 编码的文件本质上是不可拆分的,并且无论块大小和输入拆分大小如何,每个 gzfile 都会生成一个映射器。
选择映射器数量的优先级:
所以如果文件不可拆分 - 每个文件 1 个映射器
如果 Splitsize >= Blocksize - 每个块 1 个映射器
if split-size < Block-size - 每个文件的块大小/拆分大小映射器。
于 2013-10-29T13:17:33.900 回答
0
默认情况下,每个块只有一个 InputSplit,因此每个块有一个 Map 任务。要更改此行为,您必须将输入格式的大小上限更改为小于最大块大小。
要查找生成的 Map 任务数(在 Maps 运行之后),您可以使用 Counter 并在setup
方法中递增它。
于 2013-10-29T11:32:21.237 回答