定义FlowMapper

package cn.learn.mapreduce_sort;import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;import java.io.IOException;public class FlowCountSortMapper extends Mapper<LongWritable,Text,FlowBean,Text> {@Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException,
InterruptedException {FlowBean flowBean = new FlowBean();String[] split = value.toString().split("\t");//获取手机号,作为V2String phoneNum = split[0];//获取其他流量字段,封装flowBean,作为K2flowBean.setUpFlow(Integer.parseInt(split[1]));flowBean.setDownFlow(Integer.parseInt(split[2]));flowBean.setUpCountFlow(Integer.parseInt(split[3]));flowBean.setDownCountFlow(Integer.parseInt(split[4]));//将K2和V2写入上下文中context.write(flowBean, new Text(phoneNum));}
}

定义FlowReducer

package cn.learn.mapreduce_sort;import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;import java.io.IOException;public class FlowCountSortReducer extends Reducer<FlowBean,Text,Text,FlowBean> {@Overrideprotected void reduce(FlowBean key, Iterable<Text> values, Context context) throws
IOException, InterruptedException {for (Text value : values) {context.write(value, key);}}
}

MapReduce-流量统计求和-排序-Mapper和Reducer编写相关推荐

  1. MapReduce TopK统计加排序

    Hadoop技术内幕中指出Top K算法有两步,一是统计词频,二是找出词频最高的前K个词.在网上找了很多MapReduce的Top K案例,这些案例都只有排序功能,所以自己写了个案例. 这个案例分两个 ...

  2. MapReduce-流量统计求和-排序-JobMain代码和测试运行

    程序main函数入口 package cn.learn.mapreduce_sort;import cn.learn.mapreduce_flowcount.FlowCountReducer; imp ...

  3. MapReduce-流量统计求和-排序-FlowBean编写

    需求二: 上行流量倒序排序(递减排序) 分析,以需求一的输出数据作为排序的输入数据,自定义FlowBean,以FlowBean为map输出的key,以手机号作为Map输出的value,因为MapRed ...

  4. 【MapReduce】实战:流量统计(完整Java代码)

    [MapReduce]系列学习笔记: 第一部分:基本介绍 第二部分:MapReduce的编程 第三部分:MapReduce的分区 第四部分:MaoReduce的排序 第五部分:MapReduce实战: ...

  5. 使用Mapreduce案例编写用于统计文本中单词出现的次数的案例、mapreduce本地运行等,Combiner使用及其相关的知识,流量统计案例和流量总和以及流量排序案例,自定义Partitioner

    工程结构: 在整个案例过程中,代码如下: WordCountMapper的代码如下: package cn.toto.bigdata.mr.wc; import java.io.IOException ...

  6. MapReduce编程规范及实践(流量统计)

    一.MapReduce编码规范 Map阶段2个步骤 设置 InputFormat 类, 将数据切分为 Key-Value(K1和V1) 对, 输入到第二步 自定义 Map 逻辑, 将第一步的结果转换成 ...

  7. MapReduce-流量统计求和-FlowBean和Mapper代码编写

    流量统计 需求一: 统计求和 统计每个手机号的上行流量总和,下行流量总和,上行总流量之和,下行总流量之和分析:以手机号码作为key值,上行流量,下行流量,上行总流量,下行总流量四个字段作为value值 ...

  8. Mapreduce的序列化和流量统计程序开发

    一.Hadoop数据序列化的数据类型 Java数据类型 => Hadoop数据类型 int IntWritable float FloatWritable long LongWritable d ...

  9. 027_编写MapReduce的模板类Mapper、Reducer和Driver

    模板类编写好后写MapReduce程序,的模板类编写好以后只需要改参数就行了,代码如下: 1 package org.dragon.hadoop.mr.module; 2 3 import java. ...

最新文章

  1. 8.VMware View 4.6安装与部署-connection server(View Transfer Server)
  2. 2021 年4月数据库流行度排行榜出炉!Snowflake 和 Clickhouse上升迅速!
  3. php框架中什么是渲染,thinkPHP5框架渲染模板的3种方式简述
  4. mindray心电监护仪使用说明_怎么看监护仪上的参数
  5. LeetCode 1338. 数组大小减半
  6. shell学习过程中的错误集锦
  7. Flink kafka source sink 源码解析
  8. mysql generator 命令_Mybatis使用命令生成逆向工程的方法
  9. 盘点常用的IDC综合业务、财务及用户管理平台
  10. 点餐系统+小程序常见问题解决(2022年最新版)
  11. c语言结构体投票系统,结构体之投票系统
  12. 鸿蒙系统怎么安装网易云音乐,网易云音乐鸿蒙版 - 魔法系统之家下载
  13. 虚拟化查看服务器sn,linux 查看服务器sn号
  14. PCI-E 5.0标准正式公布!速度再次翻番达32GT/s
  15. SER5 5500U 黑苹果系统安装教程
  16. 基于微信小程序的在线免费小说阅读系统
  17. GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks论文翻译以及理解
  18. Ubuntu PPA 使用指南
  19. 2021年博士研究生招生大概率延期举行
  20. 【博学谷学习记录】超强总结,用心分享|前端开发基础知识总结(js一)

热门文章

  1. iOS UI、Xcode、调试、代码等常见问题总汇(持续更新中)
  2. 【转】Source Insight 有用设置配置
  3. 数字图像基础,论坛,算法库matlab,opencv,halcon
  4. 自定义类型处理器的应用
  5. Redis的RDB持久化和AOF持久化区别
  6. REST面向资源架构 RESTful架构
  7. iOS 多线程技术总结
  8. Cordova学习--iOS自定义插件
  9. 使用vbs脚本检查网站是否使用asp.net
  10. Android測试APP工具(一)