默认排序:
默认的数据类型:IntWritable,LongWritable,NullWritable…Text等
默认的类型都实现了WritableComparetable接口,按照compareTo排完序的
map ------shuffle(分区—>排序–>分组)-----reduce
在shuffle过程中,先按照map输出的key进行排序。
如果key是数值类型,按大小排序
如果key是字符串类型,按照字典顺序升序排
在按照map输出的key进行分组
运用shuffle过程中的排序:
想要运用shffle过程中的排序,则排序字段为map输出的key。
自定义排序----二次排序
这个自定义类需要放在map输出的key中
map输出的key的自定义类:
1)具备序列化和反序列化的的能力 (Wtitable)
2)shuffle中按照map输出的key进行排序,自定义类具备培排序的能力 (Comparbale)
hadoop框架中已经提供了两个功能集成的接口:
WritableComparable 既具备序列化的能力,又具备排序的能力
public interface Writab