Reduce的原理:在reduce阶段,reducer接收到所有映射到这个reducer的map输出后,也是会调用job.setSortComparatorClass设置的key比较函数类对所有数据对排序。然后开始构造 一个key对应的value迭代器。这时就要用到分组,使用jobjob.setGroupingComparatorClass设置的分组函数类。
也就是说 在reduce接受数据阶段,
setSortComparatorClass是对key进行的排序处理,setGroupingComparatorClass是对相同值的value进行排序处理