- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电影网站用户影评分析;对电影的影评进行分析,可以从多维度了解一部电影的质量和受欢迎程度。
常规的数据分析工具在大数据场景下,处理数据的效率低下,显然不适用于大数据处理分析。
分布使用Hadoop分布式框架并结合电影评分数据,编写MapReduce程序实现用户影评分析,从多维度分析用户的观影兴趣偏好。
分布式计算框架的出现,为分析处理大数据的计算提供了很好的解决方案。
;;进行用户观影兴趣偏好的数据分析之前,需要了解分析对象、数据字段的含义以及数据字段之间的关系。
在明???数据字段的含义及其字段与字段之间可能存在的关系后,有助于提出科学的任务诉求,明确需求任务,因此本小节的任务是如下。
了解数据字段。
统计分析需求描述。
;电影网站提供了与用户信息相关的3份数据,分别为用户对电影的评分数据(ratings.dat)、已知性别的用户信息数据(users.dat)以及电影信息数据(movies.dat),3份数据的介绍说明如下表所示。
;通过对电影网站用户及电影评论数据进行分析,结合MapReduce编程知识,分别从评价次数、性别、年龄段、电影类型这4个维度分析用户的观影喜好,具体的统计分析需求如下。
评价次数:计算评价次数最多的10部电影及评分次数。
性别:计算不同性别评分最高的10部电影及评分。
年龄段:计算某给定电影各年龄段的平均电影评分。
电影类型:计算影评库中各种类型电影中评价最高的5部电影。;;根据任务需求进行MapReduce编程实施方案。
将分析需求整合在一个项目中完成,根据不同的分析任务进行任务分析,创建不同的Java类,将每个分析任务分解为若干小的统计任务,分步实现各影评分析任务,本小节任务如下。
创建并配置工程项目。
计算评分次数最多的10部电影及评分次数并分析。
计算不同性别评分最高的10部电影及评分并分析。
计算指定电影各年龄段的平均影评并分析。
计算影评库中各种类型电影中评价最高的5部电影并分析。
;在IDEA中创建一个名为hadoop的maven项目,并配置pom.xml文件。
配置完成pom.xml文件后,需要单击右侧边栏的Maven按钮,同时单击刷新按钮重新加载所有的Maven项目所需的依赖包,操作如图所示。
将Hadoop中的配置文件core-site.xml和hdfs-site.xml放至hadoop项目的resources目录下,具体如图所示。
;在IDEA的hadoop项目com.cqyti.film.mapreduce包下定义一个名为Movies_Join_Ratings的类,该类主要完成movies.dat和ratings.dat两份数据的连接 。
将整个项目打包并上传至Hadoop集群中,通过“ hadoop jar ”命令接上JAR包名称(Movies_Join_Ratings.jar)和类名(com.cqyti.film.mapreduce.Movies_Join_Ratings),并按“ Enter ”键执行该MapReduce程序,即可在HDFS的/join/output目录下生成part-m-00000文件。
使用“hdfs dfs –cat /join/output/part-m-00000 | head -10”查看movies.dat和ratings.dat两份数据连接后的结果,具体实现如图所示。;在hadoop项目com.cqyti.film.mapreduce包下定义一个名为MoviesRatesAll的类,计算所有电影的评分次数 。
将整个项目打包并上传至Hadoop集群中,通过“hadoop jar ”命令接上JAR包名称(MoviesRatesAll.jar)和类名(com.cqyti.film.mapreduce.MoviesRatesAll),并按“Enter ”键执行该MapReduce程序,执行完成后即可在HDFS的/join/outputAll/目录下生成part-r-00000文件。
使用“hdfs dfs –cat /join/outputAll/part-m-00000 | head -10”查看输出结果,具体实现如下图所示。;创建MoviesRateTop10Bean类和MoviesRatesTop10类,分别实现对电影评分次数的降序排序,并查询电影评分次数Top10的数据记录。
打包jar上传至Hadoop运行,结果保存在/join/outputTop10/part-r-00000文件中,对该结果按评分次数进行降序排序。
通过“hdfs dfs -cat /join/outputTop10/part-r-00000 ”命令查看输出结果,具体实现如下图所示。;创建一个MapjoinThreeTables类,实现3份数据连接,该类中代码与连接
文档评论(0)