以字数示例的细微变化来解释我正在尝试做的事情。
我有 3 个映射器,每个映射器在 3 个大输入文件上产生完整的字数统计结果。让我们说输出是:
Mapper 1 Result:
-------
cat 100
dog 50
fox 10
Mapper 2 Result:
-------
fox 200
pig 5
rat 1
Mapper 3 Result:
-------
dog 70
rat 50
fox 10
请注意,每个结果都是具有唯一键的完整字数,计算给定文件的结果。
现在在reducer方面,我的算法要求只有一个reducer,并且由于这里讨论的时间有点太长,我希望每个映射器的结果按计数的降序输入reducer,但不执行任何操作洗牌和排序步骤。即我喜欢reducer按以下顺序从每个映射器接收结果,而不用任何键分组:
cat 100
dog 50
fox 10
fox 200
pig 5
rat 1
dog 70
rat 50
fox 10
即只是将每个映射器的结果按值的降序加载到reducer中(不是键)