Hadoop大数据开发基础(第3版)(微课版)课件 项目3 统计电影网站用户影评数据_第1页
Hadoop大数据开发基础(第3版)(微课版)课件 项目3 统计电影网站用户影评数据_第2页
Hadoop大数据开发基础(第3版)(微课版)课件 项目3 统计电影网站用户影评数据_第3页
Hadoop大数据开发基础(第3版)(微课版)课件 项目3 统计电影网站用户影评数据_第4页
Hadoop大数据开发基础(第3版)(微课版)课件 项目3 统计电影网站用户影评数据_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

统计电影网站用户

影评数据项目背景在大数据时代背景下,加快发展数字经济并推动其与实体经济深度融合,是构筑具有国际竞争力数字产业集群的关键。在此进程中,各行各业应将保护用户隐私置于首位,同时深入探索大数据所蕴含的价值,使之转化为指导决策的宝贵资源。电影的评分次数直观映射了影片的受欢迎程度——高频次标志着广泛的公众关注和高度兴趣。为了保证较高的处理效率与灵活性,本项目选用MapReduce编程以统计所有电影的评分和不同性别的用户对电影的评分。在IntelliJIDEA中搭建MapReduce开发环境通过源码初识MapReduce编程对网站用户登录次数数据根据登录次数进行升序排序项目实践在IntelliJIDEA中搭建MapReduce开发环境Hadoop框架是基于Java开发的,而IntelliJIDEA是一个常用的Java集成开发工具,因此通常选用IntelliJIDEA作为MapReduce的编程工具。为了能够成功地进行MapReduce编程,本节将在本机系统(通常是Windows系统)环境下安装Java,再安装IntelliJIDEA工具,在IntelliJIDEA中创建一个MapReduce工程,并配置MapReduce开发环境。在Windows下安装Java双击JDK安装包jdk-8u281-windows-x64.exe,打开“JavaSE开发工具包8-安装”对话框安装JDK,如下图。单击“下一步”按钮开始安装。在Windows下安装Java单击“更改”按钮,选择JDK的安装目录,用户可以根据本机的磁盘空间自定义安装目录。单击“下一步”按钮,等待JDK安装完成。在Windows下安装Java安装完JDK后,将弹出一个提示对话框,提示可更改JRE的安装目录。用户可以根据本机的磁盘空间自定义JRE的安装目录。(JDK和JRE的安装目录最好在同一个目录下)单击“下一步”按钮进行JRE的安装。JRE安装完成后单击“关闭”按钮即可完成JDK的安装。在Windows下安装Java安装完JDK后,需要在Windows系统中配置环境变量,只有配置了环境变量,JDK编译环境才可以正常使用。右击“此电脑”,在弹出的快捷菜单中选择“属性”命令,在打开的“系统”对话框中选择“高级系统设置”,打开“系统属性”对话框,单击“环境变量”按钮,打开“环境变量”对话框,如右图。在Windows下安装Java单击“系统变量”组中的“新建”按钮,新建一个变量,“变量名”为“JAVA_HOME”,“变量值”为JDK实际的安装目录,然后单击“确定”按钮即可。在Windows下安装Java在

“环境变量”对话框中,选择“系统变量”组中的“Path”变量,单击“编辑”按钮。在弹出的“编辑环境变量”对话框中,单击右侧的“新建”按钮,输入“%JAVA_HOME%\bin”,再次单击“新建”按钮,输入“%JAVA_HOME%\jre\bin”。单击“确定”按钮完成Path变量的编辑,返回“环境变量”对话框。在Windows下安装Java在

“环境变量”对话框中,单击“系统变量”组中的“新建”按钮,新建一个变量,“变量名”为“ClassPath”,“变量值”为“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”,然后单击“确定”按钮即可。在Windows下安装Java测试环境变量是否配置成功。在个人计算机的“开始”菜单的搜索文本框中输入“cmd”关键字,单击“命令提示符”,打开“命令提示符”界面,输入“java-version”并按Enter键,若出现下图的信息,则说明环境变量配置成功。下载与安装IntelliJIDEA在IntelliJIDEA官网中下载IntelliJIDEA的安装包,安装包名称为ideaIC-2023.2.2.exe(Community版)。双击下载好的安装包,在弹出的安装向导对话框中单击“Next”按钮,并设置IntelliJIDEA的安装目录,用户可根据本机的磁盘空间自定义IntelliJIDEA的安装目录,然后单击“Next”按钮。下载与安装IntelliJIDEA在弹出的对话框中,按需进行勾选,然后单击“Next”按钮。“CreateDesktopShortcut”表示是否创建桌面快捷方式。“UpdatePATHVariable(restartneeded)”表示是否将IntelliJIDEA的环境变量添加至Windows系统的环境变量中。下载与安装IntelliJIDEA在弹出的“ChooseStartMenuFolder”对话框中,选择开始菜单文件夹,保持默认设置,即“JetBrains”,然后单击“Install”按钮。安装完将弹出右图的对话框,取消勾选“RunIntelliJIDEACommunityEdition”,之后单击“Finish”按钮即可完成IntelliJIDEA的安装。启动IntelliJIDEA双击桌面生成的IntelliJIDEA工具图标,或从个人计算机的“开始”菜单中启动IntelliJIDEA。启动过程中将询问是否导入以前的设定,选择“Donotimportsettings”,表示不导入,然后单击“OK”按钮。启动IntelliJIDEA进入IntelliJIDEA的欢迎界面后,选择“Customize”设置IntelliJIDEA设计界面的主题,可以选择白色或黑色背景。考虑代码和结果展示的清晰度,选择“LightwithLightHeader”,如右图。创建MapReduce工程在IDEA主页面中单击“NewProject”选项,将弹出“NewProject”对话框,在左侧列表栏中选择“MavenArchetype”。在右侧填写工程的名称并选择工程保存的位置,选择JDK的版本为“1.8”,选择“Archetype”为“org.apache.maven.archetypes:maven-archetype-quickstart”。创建MapReduce工程单击上图的“AdvancedSettings”,设置工程属性,然后单击“Create”按钮完成创建。“GroupId”是项目组织唯一的标识符,实际对应Java的包的结构。“ArtifactId”是项目唯一的标识符,实际对应项目的名称。“Version”表示项目的版本,1.0是版本号,SNAPSHOT代表不稳定、尚处于开发中。创建MapReduce工程MapReduce工程创建完成后,在IntelliJIDEA的主界面中可以查看工程的目录结构,如下图。配置MapReduce环境在IDEA项目工程中,选择使用“Alt+\”组合键打开“File”,之后选择“ProjectStructure”,也可以直接使用“Ctrl+Alt+Shift+S”组合键打开

“ProjectStructure”。配置MapReduce环境单击“ProjectStructure”设置中左侧的“Libraries”选项,再单击右侧的“+”,选择“Java”选项添加Jar包。此处也可通过“ProjectStructure”设置中左侧的“Modules”选项添加Jar包。配置MapReduce环境在弹出的的对话框中选择要添加的

Jar

包,这里需要将

Hadoop

的/share/hadoop目录下的全部Jar包导入。注意,Hadoop安装包需要先在本地解压。配置MapReduce环境全部Jar包导入后,单击“Apply”按钮,再单击“OK”按钮,即可完成MapReduce环境配置。在IntelliJIDEA中搭建MapReduce开发环境通过源码初识MapReduce编程对网站用户登录次数数据根据登录次数进行升序排序项目实践通过源码初识MapReduce编程进行MapReduce编程前,需要先对MapReduce的核心模块Mapper与Reducer的执行流程有一定的认识。Hadoop官方提供了一些示例源码,十分适合初学者学习。在项目1中已经介绍了MapReduce简介及其作业执行流程,本节将进一步以具体例子介绍MapReduce的执行流程,再通过Hadoop官方示例源码WordCount(词频统计)讲解MapReduce的编程方法。了解MapReduce实现词频统计的执行流程以词频统计为例,进一步讲解MapReduce各阶段的执行流程。输入的单词与词频统计输出的内容如下表。输入输出HelloWorldOurWorldHelloBigDataRealBigDataHelloHadoopGreatHadoopHadoopMapReduceBigData 2Great 1Hadoop 3Hello 3MapReduce 1Our 1Real 1World 2Map阶段的处理过程键值对是一种数据格式,每个键都有一个对应的值。输入文件的每一行记录经过映射处理后输出为若干组键值对。在<Hello,1>中,Hello是键,1是值,因为需要统计单词的频次,所以1代表每个单词的初始频次。Map阶段生成键值对后,提交中间输出结果,进入Reduce阶段。Map阶段的处理过程在Map阶段输出与Reduce阶段输入之间有一个Shuffle/Sort过程。在Shuffle/Sort过程中先是对Map阶段输出的键值对按照键进行排序,之后对排序后的数据将键相同的键值对汇集起来,并将键相同的值存入同一列表中。读懂官方提供的WordCount源码WordCount源码Driver模块Mapper模块Reducer模块程序的入口执行Map任务执行Reduce任务应用程序DriverMapReduce程序的入口,进行MapReduce程序的一些初始化设置。初始化相关Hadoop配置新建Job对象并设置主类设置Mapper、Combiner、Reducer设置输出键值对格式设置输入与输出路径提交任务等待运行Map阶段与Reduce阶段并行计算过程Mapper模块Reducer模块map()方法reduce方法代码实现要与实际业务逻辑挂钩,由开发者自行编写了解词频统计WordCount源码了解Driver类的具体实现流程了解Mapper模块的实现流程了解Reducer模型的实现流程在IntelliJIDEA中搭建MapReduce开发环境通过源码初识MapReduce编程对网站用户登录次数数据根据登录次数进行升序排序项目实践网站用户登录次数排序源码解析项目2中借助官方源码WordCount程序实现了网站用户登录次数的统计,并将输出结果保存至HDFS。但用户登录次数是根据用户的邮件地址进行升序排序的,不能直观地看出用户登录次数大致的分布情况。为了更利于分析,可根据登录次数进行升序排序,并将排序后的结果存储至HDFS。网站用户登录次数排序源码解析如何实现网站用户登录次数排序源码解析Driver模块MapReduce程序的入口,进行MapReduce程序的一些初始化设置。初始化Hadoop配置新建Job对象设置Mapper、Reducer设置输出键值对格式设置输入输出路径提交任务等待运行Mapper与Reducer模块逻辑实现Mapper模块Reducer模块Begin

自定义MyMap类继承Mapper类;

覆写map()方法;

读取用户访问日志文件;

指定制表符“\t”为分隔符;

将键与值的位置进行交换;EndBegin

自定义MyReduce类继承Reducer类;

覆写reduce()方法;

读取Mapper类的输出键值对;

将键与值的位置进行交换;

输出<邮件地址,登录次数>;End在IntelliJIDEA中搭建MapReduce开发环境通过源码初识MapReduce编程对网站用户登录次数数据根据登录次数进行升序排序项目实践创建并配置工程项目电影的评分次数直观映射了影片的受欢迎程度——高频次标志着广泛的公众关注和高度兴趣。男性、女性观众在观影偏好上可能会有潜在差异,若给用户推荐电影,则可以针对不同性别的观众的观影偏好给用户推荐相关电影。为了保证较高的处理效率与灵活性,可选用MapReduce编程以统计所有电影的评分和不同性别的用户对电影的评分。目标与流程在IntelliJIDEA开发软件中创建并配置一个工程项目,搭建MapReduce开发环境。创建Maven项目,配置依赖文件添加Hadoop集群配置文件core-site.xmlhdfs-site.xml统计所有电影的评分次数统计所有电影的评分次数评分次数(RateNum)电影

ID及类型(MovieID、MoiveType)统计所有电影的评分次数movies.datratings.dat12reducejoin()表连接mapjoin()数据倾斜统计所有电影的评分次数连接movies.da

温馨提示

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

评论

0/150

提交评论