WritableComparable(排序)
一:排序概述
排序时是MapReduce框架最重要的操作之一
MapTask和ReduceTask均会对数据按照key进行排序,该操作是属于Hadoop的默认行为。任何应用程序中的数据均会被排序,不管你是否需要。
默认排序是按照字典顺序排序,实现该排序的方法是快速排序
二:排序分类
(1)全排序
只输出一个结果文件就是全排序
(2)部分排序
就是有多个结果文件。
(3)辅助排序(GroupingComparator分组)
在Reduce端进行分组。应用于:在接受的key是bean对象时,想让一个或几个字段相同的key进入到同一个reduce方法时,可以进行分组排序
(4)二次排序
在排序中,有两次判定条件就是二次排序。
三:排序实现
bean对象作为key输出时,在bean对象类上实现WritableComparable接口然后重写compareTo方法即可实现全排序、部分排序和二次排序。