Hadoop MapReduce:默认映射器数量

2023-12-13

如果我不指定映射器的数量,那么该数量将如何确定?是否有从配置文件(例如mapred-site.xml)读取的默认设置?


在克里斯上面添加的内容上添加更多内容:

  1. 映射的数量通常由输入文件中的 DFS 块的数量决定。尽管这会导致人们调整 DFS 块大小来调整地图数量。

  2. 地图的正确并行度似乎约为 10-100 个地图/节点,尽管对于 cpu 资源非常少的地图任务而言,该并行度可能高达 300 个左右。任务设置需要一段时间,因此最好至少需要一分钟来执行地图。

  3. 您可以通过修改JobConf的conf.setNumMapTasks(int num)来增加Map任务的数量。注意:这可能会增加映射任务的数量,但不会将数量设置为低于 Hadoop 通过分割输入数据确定的数量。

最后控制地图的数量是很微妙的。 mapred.map.tasks 参数只是对映射数量的 InputFormat 的提示。默认的 InputFormat 行为是将总字节数分割成正确数量的片段。但是,在默认情况下,输入文件的 DFS 块大小被视为输入拆分的上限。 分割大小的下限可以通过mapred.min.split.size设置。

因此,如果您期望 10TB 的输入数据并具有 128MB DFS 块,那么您最终将得到 82k 个映射,除非您的 mapred.map.tasks 更大。最终,InputFormat 决定了映射的数量。

阅读更多:http://wiki.apache.org/hadoop/HowManyMapsAndReduces

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop MapReduce:默认映射器数量 的相关文章

随机推荐