2

如何根据我的 mapreduce 作业的输入大小设置减速器的数量。我知道它在蜂巢和猪身上

hive.exec.reducers.bytes.per.reducer
pig.exec.reducers.bytes.per.reducer

我想在我的 Map-Reduce 工作中做类似的工作,请帮助我

4

1 回答 1

2

我想到的一件事是在提交作业之前分析输入并根据输入大小设置减速器的数量。

例如,如果您使用 HDFS 输入源,则有一个名为 getContentSummary 的方法(http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html#getContentSummary(org.apache.hadoop .fs.Path) ) 为您提供输入的大小。

之后,您可以使用该信息来计算减速器的数量。(一些满足您需求的逻辑)然后使用 setNumReduceTasks 设置该数字。

对于其他数据源,您应该使用类似的方法。

于 2013-10-09T10:53:33.533 回答