1

提交作业后,是否有任何方法可以设置减少任务的数量?比如我需要根据起始字母来收集英文单词,我可以直接将reduce任务的数量设置为26。但是万一出现我无法预先确定所需reducer数量的情况,有什么方法可以完成要求?这里的要求与集群上的节点数量无关,它只取决于正在处理的密钥。例如,每次遇到新键时,reducer 的数量都会增加 1。提前感谢您的任何支持。

4

1 回答 1

2

提交作业后,是否有任何方法可以设置减少任务的数量?

比如我需要根据起始字母来收集英文单词,我可以直接设置reduce任务数为26。

即使在上述场景中,您也不需要 26 个减速器,而只需 1 个减速器。Hadoop 框架为每个键一次又一次地调用reduce 函数。MultipleOutputFormat可用于根据键/值对(第一个字母表)将单词写入不同的文件。

作业的 reducer 数量的标准应该是它正在处理的数据量。另外,请记住,花费最多时间的减速器将决定完成工作的时间。

于 2012-06-27T12:19:42.627 回答