Hadoop综合实战之MapReduce运算优化——音乐排行榜

目录

1. 小项目                                                              2. Map开发

3. Reduce 开发                                                    4. 反转键值操作Map开发

5. 排序                                                                  6. SequenceFileOutputFormat 和 SequenceFileInputFormat

7. 配置Combiner(合并)优化                                  8. Partitioner(分区)优化

9. 分区的job和task拓展                                        10. 完整代码


       继上一篇:https://blog.csdn.net/gaofengyan/article/details/86300388 对mapreduce运算框架初步学习之后,这里对MapReduce框架做一个优化案例,以音乐排行榜为例。案例涉及知识:Top K排序;Combiner(合并)优化处理;Partitioner(分区)优化等。具体用一下案例做引导:

1. 小项目

   题材:音乐排行榜播放记录 数据格式:

记录id  歌名  播放时间  歌手
10001 music1  20180101 singer1
10002 music2 20180301 singer2
10003 music3 20180211 singer1
10004 music2 20180709 singer2
10005 music2 20180621 singer2
10006 music1 20180511 singer1

    统计信息:

        1)       歌名      播放次数(这是第一次运算后得到的文件内容结果
           如:  music1    2
                    music2    3
                    music3    1

        2)按照播放次数降序来显示步骤1的统计信息(这是最终要达到的没有分区的目的效果
           如:  3    music2
                    2    music1
                    1    music3

   准备以上题材,在桌面创建music.txt文件,并编辑内容:

[hduser@node1 桌面]$ vi music.txt
10001 music1 20180101 sing1
10002 music2 20180301 sing2
10003 music3 20180301 sing1
10004 music2 20180709 sing2
10005 music2 20180621 sing2
10006 music1 20180511 sing1

    保存后退出,将music.txt文件copy到分布式文件夹存储(我的路径是在 【/input/下】),发布后检查我这里就不写了:

[hduser@node1 ~]$ ./hadoop/bin/hadoop  dfs -put ./桌面/music.txt /input/

    

     跟之前一样准备工作(使用虚拟机中安装的eclipse作业):
         1)新建一个mapreduce项目:musicdemo【new】->【project】->【Map/Reduce Project】->【project name:musicdemo】->【finish】

         2)新

  • 6
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值