摘要: 一、需求分析 1、需求 a、输入文件 0000001 Pdt_01 222.8 0000002 Pdt_05 722.4 0000001 Pdt_02 33.8 0000003 Pdt_06 232.8 0000003 Pdt_02 33.8 0000002 Pdt_03 522.8 0000002 阅读全文
posted @ 2020-09-07 22:45 市丸银 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 一、过程 1、进行排序(自定义Hadoop序列化) 2、进行分组 二、语法 1、自定义分组,继承WritableComparator 2、创建无参构造参数 目的:将比较对象的类传给父类 super(GroupBean.class, true); 注意: a、GroupBean.class是Hadoo 阅读全文
posted @ 2020-09-07 22:43 市丸银 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1、Combiner是MR程序中Mapper和Reducer之外的一种组件 2、Combiner继承Reducer 3、Combiner在每个Map Task的节点上运行, Reducer接收全局的Mapper结果 4、Combiner对每个Map Task的输出进行局部汇总,减少网络传输 阅读全文
posted @ 2020-09-07 11:54 市丸银 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 一、需求分析 1、需求 手机号136、137、138、139开头都分别放到一个独立的4个文件中,其它开头的放到一个文件中 2、分析 a、分区 继承 Partitioner b、排序 实现 WritableComparable 二、具体代码(结合上篇博客) 1、自定义Haoop序列化类、排序 pack 阅读全文
posted @ 2020-09-07 10:16 市丸银 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 一、需求分析 1、需求 按照流量降序排序 2、分析 a、原文件的总流量是value,排序是按照key进行排序的,因此需要把 value -> key b、自定义Hadoop序列化类,(需要有排序功能) 实现 WritableComparable 二、代码 1、自定义Hadoop序列化,实现Writa 阅读全文
posted @ 2020-09-07 09:41 市丸银 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1、MapTask和ReduceTask均会对数据按照key进行排序,这是Hadoop的默认行为。任何应用程序中的数据均会被排序,而不管逻辑上是否需要,默认排序是按照字典顺序排序,方法为:快速排序 2、MapTask,在什么时候排序? a、环形内存缓冲区,快速排序,溢出到磁盘 b、所有数据 阅读全文
posted @ 2020-09-07 08:57 市丸银 阅读(131) 评论(0) 推荐(0) 编辑