标签:
一:背景
Hadoop中虽然有自动排序和分组,由于自带的排序是按照Key进行排序的,有些时候,我们希望同时对Key和Value进行排序。自带的排序功能就无法满足我们了,还好Hadoop提供了一些组件可以让开发人员进行二次排序。
二:技术实现
我们先来看案例需求
#需求1: 首先按照第一列数字升序排列,当第一列数字相同时,第二列数字也升序排列(列之间用制表符\t隔开)
MapReduce计算之后的结果应该是:
#需求2:第一列不相等时,第一列按降序排列,当第一列相等时,第二列按升序排列
MapReduce计算之后的结果应该是:
下面是实现代码,实现两种需求的关键是compareTo()方法的实现不同:
标签:
原文地址:http://www.cnblogs.com/thinkpad/p/5173736.html