商务服务
Hadoop入门学习(4)——如何统计直播平台的数据
2024-11-19 03:10

idea,hadoop,fastjson

Hadoop入门学习(4)——如何统计直播平台的数据

1.分析前端数据,找出该平台开播时间最长的十名主播

2.统计该主播们的信息,包括

  • 主播ID(uid
  • 金币数量(gold
  • 总观看pv(watchnumpv
  • 粉丝关注数量(follower
  • 总开播时长(length)

从前端获得的日志文件为Json格式,如图Hadoop入门学习(4)——如何统计直播平台的数据

1.所以可以采用fastjson进行处理,获取需要的几个核心字段,并且进行异常数值判断

2.由于不需要聚合,只是一个简单的过滤操作,所以只需要map阶段,不需要reduce

3.在maven项目的“src–main–java”目录下new一个package,名为DataClean,在包里新建两个class:

  • DataCleanJob
  • DataCleanMap

4.DataCleanMap:

 

5.DataCleanJob:

 
 

1.new一个名为VideoInfo的package

2.为了方便统计主播的指标数据,最好是把这些字段整合到一个对象中,这样维护起来比较方便,这样就需要自定义一个writable了——VideoInfoWritable,并且对几个方法进行重写;

而setGold和getGold等方法可以通过idea自动生成"Generate–setter"或"Generate–getter"即可

VideoInfoWritable:

 

3.编写map函数对清洗过的数据进行切割,并且整合进k2,v2,其中k2是主播的id,类型为Text,v2类型为VideoInfoWritable

VideoInfoMap:

 

4.编写reduce方法进行聚合:

VideoInfoReduce:

 

5.将map和reduce进行组装为job

VideoInfoJob:

 
 

VideoInfoTop10Map.java:

 

在reduce的过程中,我们需要统计当日各个主播的直播总时长,并且按照总时长的顺序为主播排序。

虽然Hadoop在map和reduce之间会进行一次排序,但是这次排序是按照key值的字典序来排列的,在reduce的输入端,key值是主播id,这样的排序不满足我们的需求,因此,我们用一个HashMap来保存键值对,在其中进行排序,为此我们要实现一个MapUtils类用来处理Map中的数据。

为了方便日志文件的管理,我们可以约定在输入路径的最后以日期结尾,并且将日期和主播id都写进k3之中,为此,需要一个处理日期的类DateUtils。

DateUtils.java:

 

MapUtils.java:

 

VideoInfoTop10Reduce.java:

 

最后,将map和reduce组装在一起

VideoInfoJobTop10:

    以上就是本篇文章【Hadoop入门学习(4)——如何统计直播平台的数据】的全部内容了,欢迎阅览 ! 文章地址:http://fabua.ksxb.net/news/846.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 海之东岸资讯移动站 http://fabua.ksxb.net/mobile/ , 查看更多   
最新文章
家庭医生签约服务健康知识库(一)
第一部分 科学健康观素养一、基本知识和理念(15条)1.【健康的定义】健康是指身体、心理和社会状态的完好状态,而不仅仅是没有
华为新款折叠屏手机开售后“秒光” 产业渗透率有望快速提升 媒体报道,12月6日,华为在南山全球旗舰店正式发售折叠屏手机MateX6,售价12999元起,此前已有超过116万人预约...
来源:雪球App,作者: 科创板日报,(https://xueqiu.com/9252950692/315917278)媒体报道,12月6日,华为在南山全球旗舰店正式
中信银行信用卡欠两万逾期两年多没还上该如何处理?
中信银行信用卡欠两万逾期两年多没还上怎么办小编导语随着信用卡的普及,越来越多的人选择使用信用卡进行消费。信用卡欠款逾期的
AI生成3D模型工具都有哪些?2023年AI生成器大盘点!
由于人工智能 (AI) 的快速发展3D 内容创作的未来也逐渐变得清晰AI 驱动的工具正在逐渐改变我们创建、交互和体验 3D 内容的方式,
如何利用2024年十大免费网站推广入口提升网站流量和品牌知名度?
在互联网时代,推广一个网站或业务需要通过多种渠道和入口来提高曝光度,增加流量。尤其是对于初创企业和小型网站来说,寻找合适
dwg用什么软件可以查看?dwg浏览器下载
本教程操作环境:windows7系统、DELL G3电脑。 6款可以打开dwg文件的软件看图纸DwgSeePlus是一款dwg文件浏览器,是专门为工程设
五大全站推广优化策略,助您网站流量激增秘诀大公开
全站推广标题优化五大秘诀,助您网站流量猛增。策略包括:精准关键词布局、吸引力标题设计、标题与内容一致性、多平台推广同步、
【学习教程系列】最通俗的 Python3 网络爬虫入门
很多朋友学习Python都是先从爬虫开始,其原因不外两方面: 其一Python对爬虫支持度较好,类库众多,其
工业富联涨0.86%,成交额20.91亿元,人气排名41位!后市是否有机会?附走势预测
12月11日,涨0.86%,成交额20.91亿元,换手率0.47%,总市值4436.50亿元。工业富联目前在新浪财经客户端A股市场人气排名第41名。