开发者学堂课程【Hadoop 分布式计算框架 MapReduce:排序分类】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/94/detail/1520
排序分类
1、排序分类
(1)部分排序
MqpReduce 根据输入记录的键对数据集排序。保证输出的每个文件内部有序。
(2)全排序
最终输出结果只有一个文件,且文件内部有序。实现方式是只设置一个 ReduceTask。
但该方法在处理大型文件时效极低,因为一台机器处理所有文件,完全丧失了 MapReduce 所提供的并行架构。
(3)辅助排序: ( GroupingComparator 分组)
在 Reduce 端对 key 进行分组。应用于:在接收的 key 为 bean 对象时,想让一个或几个字段相同(全部字段比较不相同)的 key 进入到同个 reduce 方法时 ,可以采用分组排序。
(4)二次排序
在自定义排序过程中1如果 compareTo 中的判断条件为两个即为二次排序。
2、自定义排序 WritableComparable
(1)原理分析
bean 对象作为 key 传输,需要实现 WritableComparable 接口重写 compareTo 方法,就可以实现排序。