如何根据集群中处理节点的数量在运行时设置减速器的数量



是否有方法在运行时根据处理节点的总数设置此信息?

job.setNumReduceTasks( NO_OF_REDUCERS );

所以,假设我在一台刚刚配置了节点的个人笔记本电脑上编译代码,那么它应该将减少器的数量设置为1。但是,如果我为一个真正的大型集群编译它,那么它应该相应地设置。

检查org.apache.hadoop.mapreduce.ClusterMetrics;它应该包含获取您要查找的信息的函数。我把它记在笔记里,是为了别的什么;但这应该提供您正在查找的集群信息以及一些其他详细信息。

我正在调查减速器的数量,并计划使用getReduceSlotCapacity函数来了解该作业可以消耗多少减速器。

hth

实际创建的减少数量取决于作业的输入和集群容量。所以在某种程度上,你不必担心。只是不要硬编码num_reducers值。它将在运行时进行相应的选择。

此外,您还可以通过命令行(即-D mapredreduce.tasks)传递该值,以控制运行时生成的reduce。

相关内容

  • 没有找到相关文章

最新更新