手机流量分析项目
项目流程
- 通过数据源文件,首先求出每个手机号的总上行流量、下行流量、总流量。
- 根据上一步中的流量汇总结果再按照不同的手机号进行分组输出到不同的文件中。
数据格式
- 第二个字段:手机号
- 倒数第三个字段:上行流量
- 倒数第二个字段:下行流量
准备数据源
将数据文件传入Linux系统中,并将文件上传至HDFS中的指定目录(这里在hdfs的根目录下创建一个文件夹input)中。
创建java项目编写MapReduce程序
1)创建maven项目,并设置相关依赖;
2)编写代码。包括FlowBean类(存放手机号、上行流量、下行流量),FlowMapper类(实现map过程)、FlowReducer类(实现reduce过程)、ProvincePartitioner类(对reduce之后的数据进行分区)以及FlowDriver类(主类方法);
3)对MapReduce程序进行打包,并上传至Linux系统。
运行jar包
启动hadoop集群之后,使用./bin/hadoop jar ./myapp/PhoneLogAnalyse.jar /input /output
运行jar包。
结果展示
output文件夹:
输出结果1:
输出结果2:
输出结果3: