提交作业后,有没有办法设置reduce任务的数量?例如,如果我需要根据起始字母表收集英语单词,我可以直接将reduce任务的数量设置为26。但是,如果出现无法预先确定所需减速器数量的情况,有什么方法可以满足要求吗?这里的要求与集群上的节点数量无关,它只取决于正在处理的密钥。例如,每次满足新的键时,减法器的数量将递增1。提前感谢您的支持。
发布于 2012-06-27 20:19:43
提交作业后,有没有办法设置reduce任务的数量?
不是
例如,如果我需要根据起始字母表收集英文单词,我可以直接将reduce任务的数量设置为26。
即使在上面的场景中,您也不需要有26个减速器,而只需要一个减速器。Hadoop框架一次又一次地为每个键调用reduce函数。可以使用MultipleOutputFormat根据键/值对(第一个字母)将单词写入不同的文件。
作业的reducers数量的标准应该是它正在处理的数据量。此外,请记住,减速机占用的时间最多,这将决定完成作业的时间。
https://stackoverflow.com/questions/11225477
复制相似问题