本书通过大量实例介绍大数据平台技术,分4篇。大数据存储篇包括第1~3章,内容包括大数据技术概述、数据采集和大数据、大数据框架的安装和配置;大数据管理篇包括第4~7章,内容包括HDFS、Hadoop分布式计算模型、分布式协调服务ZooKeeper、Hadoop的集群资源管理系统YARN;大数据分析篇包括第8~10章,内容包括数据库MySQL和数据仓库Hive、NoSQL数据库HBase、基于内存的分布式计算框架Spark;大数据应用篇包括第11、12章,内容包括数据可视化、大数据应用综合案例。 本书可作为高等学校数据科学与大数据技术、计算机科学与技术、人工智能等理工类专业大数据平台技术课程的教材,也可供广大计算机爱好者及软件开发人员参考。
郑啸,安徽工业大学教授,博士毕业于东南大学计算机应用技术专业,硕士生导师,安徽省高等学校优秀中青年骨干教师。主攻方向为计算机网络、工业互联网、云计算与服务计算、数据隐私保护。
目录
第1篇 大数据存储篇
第1章 大数据技术概述 1
1.1 大数据源起和应用 1
1.2 大数据技术框架 2
1.3 大数据就业岗位 5
1.4 大数据的特点 8
1.5 大数据的深远影响 9
1.6 大数据的意义和发展目标 9
1.7 大数据与云计算、物联网、
人工智能的关系 10
1.8 教材在线资源及使用说明 12
1.9 本章思维导图 14
1.10 习题 14
第2章 数据采集和大数据 15
2.1 数据采集和ETL 15
2.2 网络爬虫 15
2.2.1 通用网络爬虫与聚焦网络
爬虫 16
2.2.2 网络爬虫的工作过程 16
2.3 Python常用开发工具简介 16
2.3.1 Python开发环境搭建 17
2.3.2 开发工具PyCharm 17
2.3.3 开发工具Jupyter Notebook 17
2.4 Python语言简介 18
2.4.1 Python常见的数据类型 18
2.4.2 NumPy库 22
2.5 基于Python的网络爬虫应用
实例 25
2.5.1 Urllib库介绍 25
2.5.2 数据采集和ETL实例 28
2.6 本章思维导图 32
2.7 习题 32
第3章 大数据框架的安装和配置 33
3.1 大数据框架配置环境 33
3.2 Linux操作系统介绍 34
3.2.1 Linux的发展历史 34
3.2.2 Linux版本特点 35
3.2.3 Linux版本选择 36
3.3 Linux终端常见命令 37
3.3.1 基本命令 37
3.3.2 目录操作命令 38
3.3.3 文件操作命令 41
3.3.4 系统工作命令 51
3.3.5 其他常见命令 54
3.4 虚拟机的使用 57
3.5 远程登录工具配置 57
3.6 Hadoop伪分布式安装和使用 58
3.6.1 环境配置 58
3.6.2 配置SSH免密登录 58
3.6.3 配置JDK 58
3.6.4 Hadoop伪分布式配置 59
3.6.5 运行WordCount实例 60
3.7 本章思维导图 61
3.8 习题 62
第2篇 大数据管理篇
第4章 HDFS 63
4.1 引言 63
4.2 HDFS基础知识 64
4.2.1 HDFS的特点 65
4.2.2 HDFS的优缺点 65
4.2.3 HDFS的核心概念 66
4.2.4 HDFS执行流程 66
4.3 HDFS的常用Shell命令 68
4.4 Hadoop中HDFS的Web管理
界面 72
4.5 基于Java API的HDFS操作 73
4.5.1 实验环境配置 74
4.5.2 案例实现 76
4.6 本章思维导图 78
4.7 习题 78
第5章 Hadoop分布式计算模型 79
5.1 完全分布式环境配置 79
5.2 完全分布式配置步骤 80
5.3 MapReduce计算模型 83
5.4 Mapper-Reducer实例 84
5.4.1 实验准备 84
5.4.2 案例实现 84
5.5 本章思维导图 89
5.6 习题 89
第6章 分布式协调服务ZooKeeper 90
6.1 高可靠性大数据框架配置 90
6.2 ZooKeeper简介 91
6.3 ZooKeeper的常用命令 92
6.4 ZooKeeper的安装与运行 93
6.5 本章思维导图 95
6.6 习题 95
第7章 Hadoop的集群资源管理系统
YARN 96
7.1 Hadoop资源管理配置 96
7.2 YARN简介 97
7.3 YARN的工作流程 98
7.4 YARN的安装与运行 99
7.5 本章思维导图 100
7.6 习题 101
第3篇 大数据分析篇
第8章 数据库MySQL和数据仓库
Hive 102
8.1 基于Hive的大数据分析
配置 102
8.2 Hive的意义和应用 103
8.3 Hive和数据库的异同 104
8.4 Hive的架构模式及其执行 106
8.5 MySQL的安装和使用 108
8.5.1 MySQL数据库简介 108
8.5.2 安装MySQL 109
8.5.3 MySQL的基本操作 109
8.6 Hive的安装 114
8.7 Hive表的操作 114
8.7.1 内部表和外部表 114
8.7.2 Hive表的操作 115
8.8 典型内置函数与自定义函数 118
8.8.1 空值转换函数nvl 118
8.8.2 case when和sum函数的综合
应用 119
8.8.3 UDAF聚合函数concat 121
8.8.4 UDTF炸裂函数explode 123
8.8.5 窗口函数 124
8.8.6 自定义函数实例 127
8.9 本章思维导图 131
8.10 习题 131
第9章 NoSQL数据库HBase 132
9.1 大数据框架的数据库存储
配置 132
9.2 NoSQL概念和分类 133
9.3 HBase数据库 134
9.3.1 HBase数据模型 135
9.3.2 HBase体系架构及组件 136
9.4 HBase的安装 137
9.4.1 伪分布式 137
9.4.2 完全分布式 137
9.4.3 HBase的启动和关闭 138
9.4.4 HBase的网页端 139
9.5 HBase的Shell操作 141
9.6 基于Java API访问HBase
实例 146
9.6.1 准备工作 146
9.6.2 Eclipse环境下编程 146
9.7 HBase综合实例 150
9.8 本章思维导图 157
9.9 习题 157
第10章 基于内存的分布式计算
框架Spark 158
10.1 基于Spark的大数据分析框架
配置 158
10.2 Spark基础知识 159
10.2.1 Spark的特点 159
10.2.2 Spark和Hadoop的比较 160
10.2.3 RDD的概念 161
10.2.4 Spark的运行机制 161
10.2.5 Spark的运行模式 163
10.3 Spark的安装和使用 164
10.3.1 Spark安装 164
10.3.2 Python 3和Jupyter安装 165
10.3.3 启动PySpark 166
10.4 Spark的常用操作 168
10.5 Spark SQL的应用 174
10.6 Spark综合应用实例 178
10.7 Spark的机器学习 179
10.7.1 MLlib 179
10.7.2 Scala语言 180
10.7.3 MLlib的机器学习算法 181
10.7.4 Spark的机器学习流程 183
10.8 本章思维导图 194
10.9 习题 194
第4篇 大数据应用篇
第11章 数据可视化 195
11.1 可视化分析展示配置 195
11.2 数据可视化概述 195
11.3 数据可视化绘图 197
11.3.1 绘制折线图 197
11.3.2 绘制柱状图 198
11.3.3 绘制直方图 199
11.3.4 绘制散点图 200
11.3.5 绘制饼图 201
11.3.6 绘制极坐标图 202
11.3.7 绘制雷达图 203
11.3.8 绘制热力图 205
11.3.9 绘制3D图 206
11.4 综合实例—鸢尾花数据集的
可视化分析 207
11.4.1 实验环境搭建 207
11.4.2 数据集介绍 208
11.4.3 数据可视化 208
11.5 本章思维导图 217
11.6 习题 217
第12章 大数据应用综合案例 218
12.1 医疗大数据应用框架配置 218
12.2 案例概述 218
12.2.1 背景和意义 218
12.2.2 预备知识 220
12.2.3 技术方案 223
12.3 准备数据和开发环境配置 224
12.3.1 实验环境安装简述 224
12.3.2 Sqoop的安装和使用 225
12.3.3 数据集介绍 225
12.4 数据探索性分析 226
12.5 数据迁移 235
12.6 数据预处理 239
12.7 数据建模与训练 241
12.8 模型评估 244
12.8.1 特征重要性 244
12.8.2 混淆矩阵 245
12.8.3 评估指标 245
12.8.4 ROC曲线 247
12.9 本章思维导图 248
12.10 习题 248
附录A 教材实验 249
实验1:基于Python的数据抓取和
清洗 249
实验2:基于Linux的Hadoop伪
分布式安装和操作 250
实验3:分布式Hadoop的配置和
使用 252
实验4:基于数据仓库Hive的数据
分析 253
实验5:NoSQL数据库HBase
使用 255
实验6:基于分布式Spark框架的
编程 256
实验7:综合案例设计与实现 258
参考文献 260