在map-reduce作业中,如果设置4个reducer来实现reducer作业。通过这样做,最终输出将生成4个部分文件。像:
part-r-00001
part-r-00002
part-r-00003
part-r-00004
在这种情况下如何获得合并值?如果我正在计算最大数量?上面的情况显然会产生4个不同的文件,它们会返回4个不同的值。
答案 0 :(得分:1)
在您的案例中,简短的回答是use one reducer
。
但是当映射器输出的单个reducer无法处理时,我建议您使用two round
mapreduce
工作。
在第一轮中,您在每个reduce任务中输出合并值。在第二轮中,您使用一个reducer来计算第一轮缩减数据集的合并值。
如果那些仍然无法解决你的问题,也许你应该看看grouping comparator in hadoop map reduce