Hadoop大数据开发基础(第2版)第8章 项目案例:电影网站用户影评分析_第1页
Hadoop大数据开发基础(第2版)第8章 项目案例:电影网站用户影评分析_第2页
Hadoop大数据开发基础(第2版)第8章 项目案例:电影网站用户影评分析_第3页
Hadoop大数据开发基础(第2版)第8章 项目案例:电影网站用户影评分析_第4页
Hadoop大数据开发基础(第2版)第8章 项目案例:电影网站用户影评分析_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电影网站用户影评分析对电影的影评进行分析,可以从多维度了解一部电影的质量和受欢迎程度。常规的数据分析工具在大数据场景下,处理数据的效率低下,显然不适用于大数据处理分析。分布使用Hadoop分布式框架并结合电影评分数据,编写MapReduce程序实现用户影评分析,从多维度分析用户的观影兴趣偏好。分布式计算框架的出现,为分析处理大数据的计算提供了很好的解决方案。任务背景1多维度分析用户影评目录了解数据字段并分析需求2进行用户观影兴趣偏好的数据分析之前,需要了解分析对象、数据字段的含义以及数据字段之间的关系。在明确数据字段的含义及其字段与字段之间可能存在的关系后,有助于提出科学的任务诉求,明确需求任务,因此本小节的任务是如下。了解数据字段。统计分析需求描述。任务描述电影网站提供了与用户信息相关的3份数据,分别为用户对电影的评分数据(ratings.dat)、已知性别的用户信息数据(users.dat)以及电影信息数据(movies.dat),3份数据的介绍说明如下表所示。了解数据字段字段说明UserID用户IDMovieID电影IDRating评分Timestamp时间戳字段说明UserID用户IDGender性别Age年龄段Occupation职业Zip-code编码字段说明MovieID电影IDGenres电影类型ratings.datusers.datmovies.dat通过对电影网站用户及电影评论数据进行分析,结合MapReduce编程知识,分别从评价次数、性别、年龄段、电影类型这4个维度分析用户的观影喜好,具体的统计分析需求如下。评价次数:计算评价次数最多的10部电影及评分次数。性别:计算不同性别评分最高的10部电影及评分。年龄段:计算某给定电影各年龄段的平均电影评分。电影类型:计算影评库中各种类型电影中评价最高的5部电影。统计分析需求描述1多维度分析用户影评目录了解数据字段并分析需求2根据任务需求进行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集群中,通过“hadoopjar”命令接上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两份数据连接后的结果,具体实现如图所示。计算评分次数最多的10部电影及评分次数并分析1.连接movies.dat和ratings.dat数据在hadoop项目com.cqyti.film.mapreduce包下定义一个名为MoviesRatesAll的类,计算所有电影的评分次数。将整个项目打包并上传至Hadoop集群中,通过“hadoopjar”命令接上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”查看输出结果,具体实现如下图所示。计算评分次数最多的10部电影及评分次数并分析2.计算所有电影的评分次数创建MoviesRateTop10Bean类和MoviesRatesTop10类,分别实现对电影评分次数的降序排序,并查询电影评分次数Top10的数据记录。打包jar上传至Hadoop运行,结果保存在/join/outputTop10/part-r-00000文件中,对该结果按评分次数进行降序排序。通过“hdfsdfs-cat/join/outputTop10/part-r-00000”命令查看输出结果,具体实现如下图所示。计算评分次数最多的10部电影及评分次数并分析3.统计电影评分次数Top10创建一个MapjoinThreeTables类,实现3份数据连接,该类中代码与连接两份数据连接的代码相似,均无reduce任务。打包并提交MapReduce程序至Hadoop集群运行,最终连接结果将保存至/join/outPutMapjoinThreeTables/目录下的part-m-00000文件中。在Shell中通过“hdfsdfs-cat/join/outPutMapjoinThreeTables/part-m-00000|head-10”命令查看前10条记录,具体实现如图所示。计算不同性别评分最高的10部电影及评分并分析1.连接movies.dat、users.dat和ratings.dat数据创建一个MoviesRatesAllGroupByGender类,该类中主要完成两个计算过程。一是按性别和电影进行分组,二是分别在组内计算每部电影的平均评分。打包并提交MapReduce程序至Hadoop集群运行,即可将最终结果保存至/join/outPutMoviesRatesAllGroupByGender/目录的part-r-00000文件中。使用“hdfsdfs-cat/join/outPutMoviesRatesAllGroupByGender/part-r-00000|head-10”命令查看性别为女性的所有电影的平均评分,具体实现如图所示。使用“hdfsdfs-cat/join/outPutMoviesRatesAllGroupByGender/part-r-00000|tail-10”命令查看性别为男性的所有电影的平均评分,具体实现如图所示。计算不同性别评分最高的10部电影及评分并分析2.按性别和电影分组计算每部电影影评的平均评分定义MoviesRatesTop10GroupByGenderBean类,并在不同的性别组中,依据平均评分大小完成降序排序,统计出不同性别组内评分Top10的电影及评分信息。将MoviesRatesTop10GroupByGender作为主类,并将项目打包并提交至Hadoop集群运行。查看HDFS上的/join/MoviesRatesTop10GroupByGender/目录下的part-r-00000文件,即查看不同性别组内评分Top10的电影及其评分信息,具体实现如图所示。计算不同性别评分最高的10部电影及评分并分析3.统计不同性别组内评分Top10的电影及评分信息根据users.dat中数据的描述信息得知,字段Age并不是用户的真实年龄,而是年龄段。查看users.dat中的年龄段,该文件Age的取值共有7个,分别为0、1、2、3、4、5、6,分别表示7个年龄段,具体如下表所示。计算指定电影各年龄段的平均影评并分析Age说明018岁以下(不包含18岁)118~24岁225~34岁335~44岁445~49岁550~55岁656岁及以上创建MoviesRatesAllGroupByType的类,该类主要完成两个计算过程,一是按类型和电影ID进行分组,二是分别在组内计算每部电影影评的平均评分。打包jar上传到Hadoop运行,结果保存在/join/MoviesRatesAllGroupByType/目录下的part-r-00000文件。通过“hdfsdfs-cat/join/MoviesRatesAllGroupByType/part-r-00000|head-10”命令可查看part-r-00000文件的前10条记录,具体实现如图所示。计算影评库中各种类型电影中评价最高的5部电影并分析1.按类型和电影ID分组并计算每部电影影评的平均评分定义一个MoviesRatesTop5GroupByTypeBean类,在不同电影类型的组中,根据电影平均评分完成降序排序。打包jar上传到Hadoop运行,结果保存在/join/outputTop5/目录下的part-r-00000文件。通过“hdfsdfs-cat/join/outputTop5/part-r-00000|head-10”命令可查看part-r-00000文件的前10条记录,具体实现如图所示。计算影评库中各种类型电影中评价最高的5部电影并分析2.统计不同类型组中评分Tp5的电影及评分信息本章首先介绍了用户影评分析的背景及影评数据字段的含义,再根据影评数据从评价次数、性别、年龄段、电影类型这4个维度提出4个分析任务。针对每个任务分别分析其计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论