一、概念
全局排序是通过将进入map端之前的数据进行随机采样,在采取的样本中设置分割点,通过分割点将数据进行分区
二、原理
将设置的分割点保存在二叉树中,Map Task 每输出一个数据就会去查找其对应的区间,以此来达到分区效果
三、易忘点
(1)全局排序处理的文件内容key----value按照TAB键分割的(例如k v);
(2)Mapper函数的输入数据类型为Text,Text类型(输出数据类型随意,但需要保证reduce端的输入数据类型与其一致)
(3)主函数中
1,定义分割点的存储路径(例如 String partitionPath="file:/E:/partition" 注意本地路径前要加file:/);
2, 设置InputFormat阶段的格式化类型(job.setInputFormatClass(KeyValueTextInputFormat.class));
3, 设置分区类为全局排序(jo