本书依托一个大数据综合项目—电影市场的预测,按照大数据技术在该项目开发中的应用过程,将本书内容分为10个工作任务,包括初识Hadoop、搭建Hadoop集群、数据上传、配置Hadoop高可用、数据清洗、使用MapReduce统计电影上映情况与排序、数据建仓、数据分析、数据迁移和数据可视化。书中的具体工作任务有助于读者综合运用大数据知识及各种工具软件,实现大数据项目整体过程的操作。
本书附有配套资源,包括源代码、教学设计、教学课件等。
本书可作为高等院校本、专科大数据相关专业的教材,也可供大数据相关从业人员参考。
本书是作者将软件公司任职时的项目开发与职业院校多年教学经验的总结。与目前市面上的大部分大数据技术相关图书相比,本书通过一个项目的完整实现过程,展示了大数据各技术的应用过程,更侧重对学生实操性的指导
刘志勇,研究生学历,高级工程师,河北工业职业技术大学骨干教师,主要研究方向是装备信息化、大数据及其应用,教授:大数据导论、大数据存储与管理、大数据处理与分析等课程,出版教材两部,包括《大数据存储》《武器装备供应商关系管理》和《预先维修理论与技术》。
工作任务1
初识Hadoop 1
任务概述 1
学习目标 1
任务1.1 了解大数据 1
【知识链接】 1
1.1.1 什么是大数据 1
1.1.2 大数据的特征 2
1.1.3 研究大数据的意义 3
任务1.2 了解大数据的应用场景 4
【知识链接】 4
1.2.1 医疗行业的应用 4
1.2.2 金融行业的应用 5
1.2.3 零售行业的应用 5
任务1.3 了解Hadoop 6
【知识链接】 6
1.3.1 Hadoop的发展历程 6
1.3.2 Hadoop的优势 7
1.3.3 Hadoop的生态体系 8
1.3.4 Hadoop的版本 10
任务小结 12
课后习题 12
相关阅读—“第七次全国人口普查”中的
大数据技术应用 13
工作任务2
搭建Hadoop集群 14
任务概述 14
学习目标 14
预备知识—集群和虚拟机 14
任务2.1 安装虚拟机 16
【任务描述】 16
【知识链接】 16
2.1.1 VMware软件 16
2.1.2 Linux操作系统 16
2.1.3 Hadoop集群 17
【任务实施】 17
任务2.2 克隆虚拟机 23
【任务描述】 23
【知识链接】 23
2.2.1 克隆和备份的区别 23
2.2.2 VMware的克隆类型 24
【任务实施】 24
任务2.3 网络配置 25
【任务描述】 25
【知识链接】 26
【任务实施】 26
任务2.4 SSH服务配置 29
【任务描述】 29
【知识链接】 29
【任务实施】 29
任务2.5 Hadoop集群搭建 32
【任务描述】 32
【知识链接】 32
【任务实施】 32
任务小结 37
课后习题 38
相关阅读—名副其实的“网络大国” 39
工作任务3
数据上传 40
任务概述 40
学习目标 40
预备知识—HDFS概述 40
任务3.1 使用Shell命令将电影数据上传
到Hadoop 42
【任务描述】 42
【知识链接】 42
3.1.1 HDFS架构组成 42
3.1.2 HDFS的Shell操作 43
【任务实施】 45
任务3.2 使用Java API上传电影数据 46
【任务描述】 46
【知识链接】 46
3.2.1 HDFS写数据流程 46
3.2.2 HDFS读数据流程 47
3.2.3 NameNode和Secondary
NameNode工作机制 47
3.2.4 DataNode工作机制 49
【任务实施】 49
任务小结 51
课后习题 51
相关阅读—根服务器 52
工作任务4
配置Hadoop高可用 53
任务概述 53
学习目标 53
预备知识—服务器的可用性和高可用性 53
任务4.1 配置ZooKeeper集群 54
【任务描述】 54
【知识链接】 54
4.1.1 Hadoop中的单点故障 54
4.1.2 ZooKeeper组件 54
【任务实施】 55
任务4.2 配置HDFS-HA集群 57
【任务描述】 57
【知识链接】 57
【任务实施】 58
任务4.3 配置HDFS-HA集群自动故障
转移 61
【任务描述】 61
【知识链接】 61
4.3.1 自动故障转移机制概述 61
4.3.2 ZKFC 62
【任务实施】 63
任务小结 64
课后习题 65
相关阅读—航天装备的高可用 65
工作任务5
数据清洗 66
任务概述 66
学习目标 66
预备知识—数据清洗概述 66
任务5.1 清洗电影数据 67
【任务描述】 67
【知识链接】 67
5.1.1 MapReduce组件 67
5.1.2 MapReduce编程思想 68
5.1.3 Hadoop序列化 70
【任务实施】 71
任务5.2 数据分区 78
【任务描述】 78
【知识链接】 78
5.2.1 切片与MapTask并行度决定
机制 78
5.2.2 MapReduce工作流程 79
【任务实施】 81
任务小结 82
课后习题 82
相关阅读—深度学习开源平台飞桨 83
工作任务6
使用MapReduce统计电影上映情况与排序 84
任务概述 84
学习目标 84
预备知识—数据统计概述 84
任务6.1 统计每部电影上映的次数 85
【任务描述】 85
【任务实施】 85
任务6.2 统计每部电影的上映天数和平均
票房 88
【任务描述】 88
【任务实施】 88
任务6.3 按平均票房降序排列 90
【任务描述】 90
【任务实施】 91
任务小结 94
课后习题 94
相关阅读—许宝?J,中国统计学家的
先驱 94
工作任务7
数据建仓 96
任务概述 96
学习目标 96
预备知识—数据库与数据仓库 96
任务7.1 安装与配置Hive 97
【任务描述】 97
【知识链接】 97
7.1.1 Hive概述 97
7.1.2 Hive和数据库比较 98
7.1.3 Hive架构原理 99
【任务实施】 101
任务7.2 将元数据迁移到MySQL 101
【任务描述】 101
【任务实施】 102
任务7.3 使用Hive进行数据建仓 104
【任务描述】 104
【知识链接】 104
7.3.1 HQL的数据类型 104
7.3.2 HQL的数据定义语言 106
7.3.3 HQL的数据操作语言 109
【任务实施】 110
任务小结 111
课后习题 111
相关阅读—数据库泄露 111
工作任务8
数据分析 112
任务概述 112
学习目标 112
预备知识—数据分析概述 112
任务8.1 查询某年全年电影数据 113
【任务描述】 113
【知识链接】 113
8.1.1 Hive数据导出 113
8.1.2 Hive查询 113
【任务实施】 120
任务8.2 统计周平均票房 121
【任务描述】 121
【知识链接】 121
【任务实施】 121
任务8.3 统计北京和上海某年一季度票房
收入 122
【任务描述】 122
【任务实施】 122
任务小结 127
课后习题 127
相关阅读—诚信意识 127
工作任务9
数据迁移 128
任务概述 128
学习目标 128
预备知识—数据迁移概述 128
任务9.1 安装和配置Sqoop 129
【任务描述】 129
【知识链接】 129
【任务实施】 130
任务9.2 迁移清洗后的电影数据 131
【任务描述】 131
【知识链接】 131
9.2.1 导入数据 131
9.2.2 导出数据 133
【任务实施】 133
任务9.3 迁移日平均票房数据 134
【任务描述】 134
【任务实施】 134
任务9.4 迁移周平均票房数据 135
【任务描述】 135
【任务实施】 135
任务9.5 迁移北京和上海某年一季度票房
数据 136
【任务描述】 136
【任务实施】 136
任务小结 137
课后习题 137
相关阅读—删库事件 138
工作任务10
数据可视化 139
任务概述 139
学习目标 139
预备知识—数据可视化概述 139
任务10.1 使用Spring Boot搭建Web
系统 140
【任务描述】 140
【任务实施】 140
任务10.2 显示全部电影数据 143
【任务描述】 143
【任务实施】 144
任务10.3 使用柱状图显示电影的日平均
票房 146
【任务描述】 146
【任务实施】 146
任务10.4 使用饼图显示电影的周平均
票房 150
【任务描述】 150
【任务实施】 150
任务10.5 使用折线图显示北京和上海
某年一季度电影票房走势 153
【任务描述】 153
【任务实施】 153
任务小结 157
课后习题 157
相关阅读—中华人民共和国2022年国民
经济和社会发展统计公报 158