第9章 Hadoop案例研究.pptx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

案例研究

【思政目标】

要牵住数字关键核心技术自主创新这个“牛鼻子”,发挥我国社会主义制度优势、新型举国体制优势、超大规模市场优势,提高数字技术基础研发能力,打好关键核心技术攻坚战,尽快实现高水平自立自强,把发展数字经济自主权牢牢掌握在自己手中。

——2021年10月18日,习近平在十九届中央政治局第三十四次集体学习时的讲话

9.1.Last.fm

9.2.共享单车

9.1.1.背景

Last.fm创办于2002年,它是一个提供网络电台和网络音乐服务的社区网站,向用户提供很多服务,例如免费听音乐和音乐下载,音乐及重大事件推荐,个性化图表服务以及其他很多服务。每个月大约有2500万人使用Last.fm,因而产生大量需要处理的数据。一个例子就是用户传输他们正在收听的音乐信息(也就是收藏“scrobbling”)。Last.fm处理并且存储这些数据,以便于用户可以直接访问这些数据(用图表的形式),并且可以利用这些数据来推断用户的个人音乐品味、喜好和喜爱的艺术家,然后用于寻找相似的音乐。

2006年初,Last.fm开始使⽤Hadoop,⼏个⽉后投⼊实际应⽤。Hadoop是Last.fm基础平台的关键组件,有2个Hadoop集群,50台计算机,300个内核,100TB的硬盘空间。在集群上,运⾏数百种各种⽇常作业,包括⽇志⽂件分析,A/B测试评测,即时处理和图表⽣成。

本节的例子将侧重于介绍产生图表的处理过程,因为这是Last.fm对Hadoop的第一个应用,它展示出Hadoop在处理大数据集时比其他方法具有更强的功能性和灵活性。

Last.fm使用用户生成的音乐收听数据生成多种不同类型的排行榜,如每个国家和每个用户的每周单曲排行榜。一些Hadoop程序用来处理收听数据并生成这些排行榜,这些程序每天、每周或每月为基本单位运行。

Last.fm音乐排行统计图表

Last.fm的Hadoop程序的一项重要任务就是接受这些收听数据,做统计并形成能够在Last.fm网站上进行显示和作为其他Hadoop程序输入的数据格式(其格式与内容如表9-1所示)。

该⽂本⽂件包含⽤户id(UserId)、歌曲id(TrackId)、这⾸歌曲被收藏的次数(Scrobble)、这⾸歌曲在电台中收听的次数(Radio)、被跳过的次数(Skip)等,并且由空格进行分割。真实数据达到GB级别,有更多属性字段。

文本文件中数据遵循以下规则:

1.Scrobble为1表示是用户设备收听的歌曲,则Radio,Skip值一定为0;

2.Radio为1表示是广播电台播放的歌曲,则Scrobble值一定为0;

3.Skip为1表示用户跳过的广播歌曲,则Scrobble为0,Radio为1。

UniqueListeners作业模块统计收听同一首音频的不同用户数,通过累计不同用户对该音频文件的第一次访问而忽略同一用户对这一文件的多次访问,即可得到该数值。

Sum作业模块通过对所有用户的所有收听信息进行计数来为每个音频统计收听总数、收藏总数、电台收听总数以及被跳过的总数。

尽管这两个作业模块的输入格式是相同的,我们仍然需要两个作业模块,因为UniqueListeners作业模块负责为每个用户对每个音频产生统计值,而Sum作业模块为每个音频产生统计值。

最后Merge作业模块负责合并由这两个模块产生的中间输出数据得到最终统计结果。

运行这段程序的最终结果是对每个音频产生以下几项数值:

*不同的听众数

*音频的收藏次数

*音频在电台中的点播次数

*音频在电台中被收听的总次数

*音频在电台广播中被跳过的次数

UniqueListenerMaper:

UniqueListenerMaper程序处理用空格分隔的原始收听数据,然后对每个trackID(音频ID)产生相应的userID(用户ID)

UniqueListenersReducer:

UniqueListenersReducer接收到每个trackID对应的userID数据列表之后,把这个列表放入Set类型对象以消除重复的用户ID数据。然后输出每个trackID对应的这个集合的大小(不同用户数)。但是如果某个键对应的值太多,在set对象中存储所有的reduce值可能会有内存溢出的危险。

SumMapper:

输入数据仍然是原始文本文件,但是这一阶段对输入数据的处理完全不同。期望的输出结果是针对每个音轨的一系列累计值(不同用户、播放次数、收藏次数、电台收听次数和跳过次数)。为了方

文档评论(0)

弹弹 + 关注
实名认证
内容提供者

人力资源管理师、教师资格证持证人

该用户很懒,什么也没介绍

版权声明书
用户编号:6152114224000010
领域认证该用户于2024年03月13日上传了人力资源管理师、教师资格证

1亿VIP精品文档

相关文档