首页 > TAG信息列表 > upFlow
序列化
Hadoop的key和value的传递序列化需要涉及两个重要的接口Writable和WritableComparable: WritableComparable比Writable多了一个compareTo方法,用来判断key是否唯一或者说是不是相同。 Hadoop为Key的数据类型必须实现WritableComparable,而Value的数据类型只需要实现Writable即可,能6.Partitioner案例
6.Partitioner案例 文件:https://files-cdn.cnblogs.com/files/handsomeplus/phonedata.zip 需求: 将统计结果按照手机归属地不同省份输出到不同文件夹 期望输出数据: 手机号136,137,138,139开头的分别放到4个文件中,其他的放到一个文件中 程序源码 自定义Bean类 import org.apacMapReduce-流量统计求和-排序-FlowBean编写
需求二: 上行流量倒序排序(递减排序) 分析,以需求一的输出数据作为排序的输入数据,自定义FlowBean,以FlowBean为map输出的key,以手机号作为Map输出的value,因为MapReduce程序会对Map阶段输出的key进行排序 Step 1: 定义FlowBean实现WritableComparable实现比较排序 Java 的 compareToHadoop序列化
1、序列化 把内存中的对象转换成字节序列(或其他数据传输协议)以便存储到磁盘和网络传输。 2、反序列化 将字节序列(或其他数据传输协议)或者磁盘的持久化数据转成内存对象 3、Hadoop为什么不使用java的序列化机制 java的序列化是一个重量级序列化框架,一个对象被序列化后,会附带很多mapreduce序列化操作
1. 需求 统计每一个手机号耗费的总上行流量、下行流量、总流量 (1)输入数据 (2)输入数据格式: 7 13560436666 120.196.100.99 1116 954 200 id 手机号码 网络ip 上行流量 下行流量 网络状态码 (3)期望输出数据格式 13560436666 1116 95421.根据hive绑定数据统计计算保存到hive表中
创建upflow表 create external table mydb2.upflow (ip string,sum string) row format delimited fields terminated by ','; select ip,sum(upflow) as sum from mydb2.access group by ip order by sum desc; 将表access里面的内容导入到upflow表中 i大数据学习之提交job流程,排序11
1实现接口->WritableCompareable 排序操作在hadoop中属于默认的行为。默认按照字典殊勋排序。 2 排序的分类: 1)部分排序 2)全排序 3)辅助排序 4)二次排序 3 案例: 在流量汇总输出文件里的数据 进行分区,每个分区中的数据进行排序 数据预览,这里只是进行了流量的汇总,没MapReduce的典型编程场景1
接下来通过一个实际的案例,介绍在MR编程中的,partition、sort、combiner。 流量统计项目案例 数据样本:1363157984040 13602846565 5C-0E-8B-8B-B6-00:CMCC 120.197.40.42052.flash2-http.qq.com 综合门户 15 12 1938 2910 200字段介绍:需求:1、 统计每一个用户(手机号)所耗费的总上