基于mapreduce的汽车销售需求分析

(统计山西省2013年每个月的汽车销售数量的比例为例)

数据集展示:

 首先,一定要保证Hadoop已启动。

该部分的代码为:在这放截图:

splitMapper类:

SplitMapper.java。

  在SplitMapper.java类:首先,将一行进行数据分割,分隔到一个数组里面,只要数据集下标是1(月)的和11(数量)的,代表山西省一个月卖出多少辆车,例<3,1>为3月份销售一辆。数组的长度>11则不需要,并且不为空且不能为空数据都不进行统计。若不为空:将下标1的放入到month中,下标为11的放入到num中。将月看成key,将num看成value。经过map处理后变为<3 ,{1 ,1,1,1}>

在数据集中,arr[0]代表省份,arr[1]代表月份,arr[11]代表数量,依次往后。

例:3 1代表3月份卖出去一辆。

Countreduce类:

  在CountReducer.java中,CountReducer是对SplitMapper中划分出来的数据进行组合,例如:<3,{1,1,1}>对后面的数量进行一个求和,获取value值。其次,再将所有月份的数量(value值)进行相加,计算出total,例<3,4>。

  在cleanup中,打扫,map中的key拿出来放到集合里,进行遍历,再取value放到集合里。通过percent算出比例,放入到num里面,三月份卖的数量在全年中占的比例。

main函数类:

 

在main中,设置mapper,reduce等类属性,处理的数据源,存放结果的路径已指定。

该报告还有

代码报告。

演示在Xshell7中演示(以统计不同品牌的车在每个月的销售量分布为例)

 第一步,在终端输入(检查Hadoop是否成功启动):jps

第二步,新建/input文件夹:命令如下

第三步,将数据集通过WinScp上传到xshell7中,再将放入到/input中,命令如下

第四步,上传打好的jar包,构建mapreduce工程,并指定数据集和输出结果的路径,命令如下:

 第五步,查看输出文件,命令如下:

第六步,结果显示:

  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值