0

块大小、拆分和 MapTask 数量之间的关系是什么?地图任务是如何调用的?

4

2 回答 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 回答