大数据技术精品系列教材

Hadoop大数据开发基础(第3版)(微课版)

“十四五”职业教育国家规划教材
分享 推荐 1 收藏 14 阅读 1.8K
张军 , 张良均 (主编) 刘晶晶 , 刘斌 , 周小玲 (副主编) 978-7-115-66617-8

关于本书的内容有任何问题,请联系 初美呈

“十四五”职业教育国家规划教材
紧贴“1+X”大数据应用开发(Python)中级证书考核标准,项目驱动,实战导向。
全书全面升级,采用Hadoop 3.3.6、Hive 3.1.3、HBase 2.5.7等新版本,全面提升教学兼容性与前沿性,贴近企业真实应用环境。
教材结构优化为项目任务式,每章融合“电影网站影评分析”贯穿案例,实现知识学习与实操训练的有机融合,打通学习闭环。
覆盖虚拟机安装、集群搭建、MapReduce开发、日志分析、Hive数据仓库、HBase数据存储等关键技能,适配IDEA 2023等主流工具版本。
新增“素养目标”与“思维导图”,引导学生构建知识体系、提升综合能力,兼顾职业素养培养与技术提升。

特别说明

第3版与第2版的区别
结合Hadoop的发展现状及Hadoop未来的发展趋势,并根据广大读者反馈的建议,本书在保留原有特色的基础上,进行了内容与代码的全面升级。为加快推进党的二十大精神进教材、进课堂、进头脑,本书结合项目案例与讲解内容,融入社会主义核心价值观、大国工匠精神、科学精神、国家安全观、新质生产力等元素,实现知识增长、能力提升和正确价值观培养的全过程有机结合。第3版修订的主要内容如下。
⭐教材体例由章节任务式结构调整为项目任务式结构,并将原第8章“电影网站用户影评分析”项目案例贯穿全书。
⭐项目1合并了原第1章“Hadoop介绍”和原第2章“Hadoop集群的搭建及配置”两章的内容;删减了“Hadoop的发展历史”一节的内容;在“1.1.4了解Hadoop生态系统”一节中补充介绍了Hadoop生态系统中的常用组件,如Kafka、Spark、Flink、Storm、Ambari等;更新了Hadoop的应用场景;修改了虚拟机的安装及配置过程,将虚拟机软件VMware Workstation版本由VMware Workstation 15 Pro更换为VMware Workstation 17 Pro,将虚拟机安装语言环境换为“中文”,并将远程连接虚拟机工具由Xme5升级至Xshell 7和Xftp 7;修改了Hadoop集群的搭建过程,将使用的Hadoop版本由Hadoop 3.1.4升级至Hadoop 3.3.6。
⭐项目3修改了MapReduce开发环境的搭建过程,将MapReduce程序的开发工具IDEA版本由IDEA 2018.3.6(社区版)升级至IDEA 2023.2.2(社区版);删减了“统计网站每日的访问次数”一节的内容,并将所使用的数据由竞赛网站用户访问日志数据更换为社交网站用户访问日志数据。
⭐项目4更新竞赛网站用户访问日志数据时间至2024年。
⭐项目5修改了对Hive的访问方式的介绍,将使用的Hive版本由Hive 3.1.2升级至Hive 3.1.3,将使用的MySQL版本由MySQL 5.7.19升级至MySQL 8.0.21,将使用的MySQL驱动包版本由MySQL Connector/J 5.1.32升级至MySQL Connector/J 8.0.21。删减了“掉话率Top20基站统计”一节的内容。
⭐项目6修改了HBase集群的安装及配置过程,将使用的ZooKeeper版本由ZooKeeper 3.5.6升级至ZooKeeper 3.8.3,将使用的HBase版本由HBase 2.2.2升级至HBase 2.5.7。
⭐项目6删减了“查询分析通话记录数据”一节的内容。
⭐各项目均补充了“素养目标”和“思维导图”。
⭐项目2~项目6各补充了一道技能题;项目 3~项目 6各补充了一道实训题;全书配套习题答案中补充选择题解析。

内容摘要

本书以“电影网站用户影评分析”项目为导向,较为全面地介绍Hadoop大数据技术及其生态系统组件Hive、HBase的相关知识。本书共6个项目,具体内容包括分析电影网站用户影评需求及环境搭建、存储电影网站用户影评分析数据、统计电影网站用户影评数据、多维度分析电影网站用户影评、基于Hive实现电影网站用户影评分析和基于HBase实现存储电影网站用户影评分析结果。本书每个项目均包含实训与习题,读者可通过操作和练习,巩固所学的内容。
本书可以作为高校大数据技术相关专业的教材,也可以作为“1+X”证书制度试点工作中的大数据应用开发(Python)职业技能等级证书(中级)考试的培训用书和大数据技术爱好者的自学用书。

目录

项目1 分析电影网站用户影评需求及环境搭建 1
【学习目标】 1
【项目背景】 1
【思维导图】 2
【知识准备】 2
1.1 Hadoop简介 2
1.1.1 什么是Hadoop 2
1.1.2 了解Hadoop的特点 3
1.1.3 了解Hadoop核心组件 4
1.1.4 了解Hadoop生态系统 11
1.1.5 了解Hadoop应用场景 14
1.2 安装及配置虚拟机 15
1.2.1 创建Linux虚拟机 16
1.2.2 设置固定IP地址 24
1.2.3 远程连接虚拟机 26
1.2.4 配置本地YUM源及安装常用软件 29
1.3 搭建Hadoop完全分布式集群 33
1.3.1 在Linux下安装Java 34
1.3.2 修改配置文件 35
1.3.3 克隆虚拟机 38
1.3.4 配置SSH免密码登录 41
1.3.5 配置时间同步服务 42
1.3.6 启动和关闭Hadoop集群 44
1.3.7 监控Hadoop集群 45
【项目实践】 47
任务1 了解数据字段 47
任务2 分析影评统计需求 49
【项目总结】 49
【实训】 49
实训1 修改master虚拟机的IP地址 49
实训2 编写Shell脚本同步集群时间 50
【习题】 50

项目2 存储电影网站用户影评分析数据 53
【学习目标】 53
【项目背景】 53
【思维导图】 54
【知识准备】 54
2.1 认识Hadoop安全模式 54
2.1.1 了解Hadoop安全模式 54
2.1.2 查看、解除和开启Hadoop安全模式 55
2.2 查看Hadoop集群的基本信息 57
2.2.1 查询集群的存储系统信息 57
2.2.2 查询集群的计算资源信息 60
2.3 上传文件到HDFS目录 61
2.3.1 了解HDFS 61
2.3.2 HDFS的基本操作 64
2.4 运行MapReduce任务 68
2.4.1 了解Hadoop官方的示例程序包 68
2.4.2 提交MapReduce任务给集群运行 68
2.5 管理多个MapReduce任务 71
2.5.1 查询MapReduce任务 71
2.5.2 中断MapReduce任务 74
【项目实践】 76
任务3 上传用户影评数据至HDFS 76
【项目总结】 77
【实训】 78
实训1 统计文件中所有单词的长度的标准差 78
实训2 查询与中断MapReduce任务 78
【习题】 79

项目3 统计电影网站用户影评数据 81
【学习目标】 81
【项目背景】 81
【思维导图】 82
【知识准备】 82
3.1 在IntelliJ IDEA中搭建MapReduce开发环境 82
3.1.1 在Windows下安装Java 82
3.1.2 下载、安装并启动IntelliJ IDEA 85
3.1.3 创建MapReduce工程 88
3.1.4 配置MapReduce环境 90
3.2 通过源码初识MapReduce编程 91
3.2.1 了解MapReduce实现词频统计的执行流程 92
3.2.2 读懂官方提供的WordCount源码 93
3.3 根据登录次数对网站用户登录次数数据进行升序排序 98
3.3.1 分析思路与处理逻辑 98
3.3.2 编写核心模块代码 100
3.3.3 打包程序并提交MapReduce任务给集群运行 101
【项目实践】 101
任务4 创建并配置工程项目 101
任务5 统计所有电影的评分次数 103
任务6 统计不同性别的用户对电影的评分 108
【项目总结】 113
【实训】 113
实训1 使用MapReduce编程统计某超市1月商品被购买的次数 113
实训2 使用MapReduce编程统计各科目的平均成绩 114
实训3 使用MapReduce编程统计网站每日访问次数 115
【习题】 116

项目4 多维度分析电影网站用户影评 118
【学习目标】 118
【项目背景】 118
【思维导图】 119
【知识准备】 119
4.1 设置MapReduce输入输出格式 119
4.1.1 设置MapReduce输入格式 120
4.1.2 设置MapReduce输出格式 121
4.1.3 筛选日志文件并生成序列化文件 122
4.2 使用Hadoop Java API实现文件操作 124
4.2.1 使用FileSystem API管理文件夹 124
4.2.2 使用FileSystem API操作文件 127
4.2.3 使用FileSystem API读/写数据 129
4.2.4 使用Hadoop Java API读取序列化文件 131
4.3 优化MapReduce统计程序 133
4.3.1 自定义键值类型 133
4.3.2 初步探索Combiner 136
4.3.3 浅析Partitioner 139
4.3.4 自定义计数器 141
4.4 在IntelliJ IDEA中打包并提交MapReduce程序 143
4.4.1 传递参数 144
4.4.2 使用Hadoop辅助类ToolRunner 145
4.4.3 自动打包并提交MapReduce程序 146
【项目实践】 149
任务7 统计评分次数最多的10部电影并分析 149
任务8 统计不同性别的用户评分最高的10部电影并分析 152
任务9 计算指定电影的各年龄段用户的平均评分并分析 156
任务10 统计影评库中各种类型电影中评分最高的5部电影并分析 159
【项目总结】 164
【实训】 165
实训1 使用MapReduce编程统计各科目成绩最高的学生 165
实训2 使用MapReduce编程筛选出指定出版年份的图书 165
实训3 使用MapReduce编程统计水稻品种的数量 166
【习题】 167

项目5 基于Hive实现电影网站用户影评分析 170
【学习目标】 170
【项目背景】 170
【思维导图】 171
【知识准备】 171
5.1 认识Hive数据仓库 171
5.1.1 什么是Hive 171
5.1.2 了解Hive与传统数据库的对比 172
5.1.3 了解Hive系统架构 173
5.1.4 了解Hive数据模型 174
5.1.5 了解Hive执行流程 175
5.2 Hive的安装模式 175
5.2.1 设置内嵌模式 175
5.2.2 设置直连数据库模式 177
5.2.3 设置远程模式 181
5.3 实现Hive表的创建与修改 183
5.3.1 了解Hive数据定义语言的基本语法 183
5.3.2 创建表的基本操作 186
5.3.3 修改表的基本操作 189
5.4 实现Hive表中数据的增删查改 190
5.4.1 了解Hive数据操作语言的基本语法 190
5.4.2 向数据表中装载文件 192
5.4.3 查询数据 193
5.4.4 插入数据 197
5.4.5 删除数据 198
【项目实践】 199
任务11 创建电影、用户、评分数据表 199
任务12 分析电影、用户、评分数据表 200
【项目总结】 202
【实训】 202
实训1 查询图书馆图书的被借阅次数及读者借阅图书的次数 202
实训2 基于Hive实现表的连接及信息查询处理 203
实训3 查询电商货品订单数据 204
【习题】 206

项目6 基于HBase实现存储电影网站用户影评分析结果 208
【学习目标】 208
【项目背景】 208
【思维导图】 209
【知识准备】 209
6.1 认识HBase分布式数据库 209
6.1.1 什么是HBase 209
6.1.2 了解HBase系统架构 211
6.1.3 了解HBase数据模型 213
6.1.4 了解HBase读/写流程 215
6.2 安装和部署HBase集群 217
6.2.1 了解并安装ZooKeeper 217
6.2.2 安装及配置HBase集群 221
6.3 掌握HBase常用的Shell命令 225
6.3.1 修改与删除表 227
6.3.2 查询表数据 228
6.4 使用HBase Java API实现表设计 231
6.4.1 创建Java项目 231
6.4.2 实现表的创建 233
6.4.3 向表中插入数据 234
【项目实践】 235
任务13 存储评分次数最多的10部电影的数据 235
任务14 存储不同性别的用户评分最高的10部电影及评分信息的数据 238
任务15 存储电影ID为2858的电影各年龄段用户的平均评分数据 240
任务16 存储影评库中各种类型电影中评分最高的5部电影的数据 242
【项目总结】 244
【实训】 244
实训1 使用HBase Shell命令创建学生信息表并插入数据 244
实训2 使用HBase Java API对HBase数据库的表进行操作 245
实训3 使用HBase Java API查询并分析通话记录数据 246
【习题】 247

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

张军,副教授,主要研究领域为大数据技术与应用技术、高职教育教学改革。现任广东科学技术职业学院计算机学院副院长,广东省品牌专业(大数据技术)负责人,大数据省级教学团队负责人,软件技术中国特色高水平专业群建设项目、首批国家级职业教育教学创新团队核心骨干成员,广东省农村科技特派员,广东科学技术职业学院专业领军人才,兼任广东省大数据产教融合协会副秘书长。

推荐用户

同系列书

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部