Shuffle WritableComparable 排序

一、概述

1、MapTask和ReduceTask均会对数据按照key进行排序,这是Hadoop的默认行为。任何应用程序中的数据均会被排序,而不管逻辑上是否需要,默认排序是按照字典顺序排序,方法为:快速排序

2、MapTask,在什么时候排序?

a、环形内存缓冲区,快速排序,溢出到磁盘

b、所有数据处理完毕,将磁盘中的数据进行归并排序

3、ReduceTask,在什么时候发生排序?

a、从MapTask中copy数据到ReduceTask,若磁盘发生溢出,则进行归并排序

b、所有的数据分析完成后,将内存和磁盘中的所有数据进行归并排序

二、排序分类

1、部分排序

Partition,各个输出文件,分别排序

2、全排序

输出一个文件,排序

3、分组排序

4、二次排序

compareTo的判断条件有两次,即为二次排序

 

posted @ 2020-09-07 08:57  市丸银  阅读(131)  评论(0编辑  收藏  举报