Hadoop如何决定否。对于给定的场景,减速器运行?

时间:2013-08-27 09:24:29

标签: hadoop mapreduce

Hadoop如何决定否。减速器运行特定问题?在什么基础上它决定像没有分区或没有。群集大小或什么? 解释下面的问题 - 我有640MB的输入文件,我的块大小为64MB。我的群集大小为5节点群集。我已将输入文件写入HDFS,它有10个数据块。如果我为写入的输入文件运行我的wordcount程序,那么请告诉我将运行多少个Mapper和多少个reducer。

3 个答案:

答案 0 :(得分:1)

根据IputFormatClass的选择决定地图数量。默认情况下,它是TextInputFormat类,它将创建与块数相同数量的映射。如果只有两个块中的最后一个记录被破坏将会有异常(在这种情况下,映射的数量将是块的数量减去一个)。数字减少器是一种配置选择,甚至可以在作业提交期间指定。默认情况下,减速器的数量是一个。

答案 1 :(得分:0)

鉴于可以在conf文件中指定映射器和缩减器编号,因此没有唯一的答案。但默认设置为:
640Mb和64Mb块= 10个映射器 和1减速机。

为了更准确的答案,根据
设置映射器的数量     File total size / File block size 但您可以设置配置变量以更改其行为,如:
 映射最小分割大小,映射最大分割大小,最小地图编号等... 如果您想了解有关这些变量的更多信息,请查看mapred default hdfs defaultcore default 顺便说一下,关于地图和减少数量的问题有很多问题。

答案 2 :(得分:0)

将块大小从64 MB更改为128 MB,将块数从10减少到5.您只能在配置中指定减少器的数量,但无法通过参数控制减速器的数量。映射数取决于输入拆分数和输入格式。我建议减少器的数量小于您的簇大小。在MapReduce 2框架工作中,容器控制正在使用的资源,以便您可以根据数据估计调整资源大小,并根据数据大小启动尽可能多的减少器,并降低功能复杂性。