Hadoop如何决定否。减速器运行特定问题?它在什么基础上决定分区器的数量或否。集群大小还是什么?解释下面的问题 - 我有 640MB 的输入文件,我有 64MB 的块大小。我的集群大小是 5 节点集群。我已将输入文件写入 HDFS,它包含 10 个数据块。如果我为写入的输入文件运行我的 wordcount 程序,那么告诉我将运行多少个映射器和多少个减速器。
问问题
3703 次
3 回答
1
映射的数量取决于 IputFormatClass 的选择。默认情况下,它是 TextInputFormat 类,它将创建与块数相同数量的地图。如果只有最后一条记录在两个块中被破坏(在这种情况下,映射数将为块数减一),则会出现异常。number reducers 是一种配置选择,甚至可以在作业提交期间指定。默认情况下,reducer 的数量为 1。
于 2013-08-27T10:38:36.273 回答
0
将块大小从 64 MB 更改为 128MB,将块数从 10 减少到 5 个。您可以在配置中仅指定减速器的数量,但无法通过参数控制减速器的数量。映射的数量取决于输入拆分的数量和输入格式。我建议减速器的数量少于您的集群大小。在 MapReduce 2 框架中,容器控制正在使用的资源,因此您可以根据数据估计来调整资源大小,并根据数据大小启动尽可能多的 reducer,并降低函数复杂性。
于 2014-04-13T11:07:45.017 回答