本文测试文本:
MapReduce中,根据key进行分区、排序、分组
MapReduce会按照基本类型对应的key进行排序,如int类型的IntWritable,long类型的LongWritable,Text类型,默认升序排序
为什么要自定义排序规则?现有需求,需要自定义key类型,并自定义key的排序规则,如按照人的salary降序排序,若相同,则再按age升序排序
以Text类型为例:
Text类实现了<code>WritableComparable</code>接口,并且有<code>write()</code>、<code>readFields()</code>和<code>compare()</code>方法
<code>readFields()</code>方法:用来反序列化操作
<code>write()</code>方法:用来序列化操作
所以要想自定义类型用来排序需要有以上的方法
自定义类代码:
MapReuduce程序:
运行结果: