如何在具有多个reducer的map reduce中获得合并值

gzszwxb4  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(388)

在map reduce job中,如果设置4个reducer来实现reducer作业。这样,最终输出将生成4个零件文件。比如:

part-r-00001
part-r-00002
part-r-00003
part-r-00004

在这种情况下,如何获得合并价值?如果我在计算一个最大值?上面的例子显然会生成4个不同的文件,返回4个不同的值。

6l7fqoea

6l7fqoea1#

简单的回答是 use one reducer 对你来说。
但是,当Map器的输出太多,单个减速机无法处理时,我建议您使用
two round mapreduce 工作。
在第一轮中,您将在每个reduce任务中输出合并值。在第二轮中,使用一个reducer来计算第一轮缩减数据集的合并值。
如果这些仍然不能解决您的问题,也许您应该看看hadoop map reduce中的分组比较器

相关问题