我想知道为什么在二级mapreduce中使用分组比较器。
根据二次排序的权威指南示例
我们希望键的排序顺序是按年份(升序)然后按温度(降序):
1900 35°C
1900 34°C
1900 34°C
...
1901 36°C
1901 35°C
通过设置一个 partitioner 来按 key 的 year 部分进行分区,我们可以保证同一年的记录去同一个 reducer。然而,这仍然不足以实现我们的目标。partitioner 确保只有一个 reducer 接收一年内的所有记录;它不会改变 reducer 在分区中按键分组的事实。
既然我们已经编写了自己的分区器,它将负责将映射输出键发送到特定的减速器,那么我们为什么要对它进行分组。
提前致谢