大数据技术基础 / 普通高等教育“十四五”大数据系列教材
定价:¥59.80
作者: 罗金炎,董正山,雷进宇
出版时间:2023-09
最新印次日期:2023-12
出版社:中国铁道出版社
- 中国铁道出版社
- 9787113304607
- 1版
- 502210
- 60269857-3
- 16开
- 2023-09
- 工学
- 计算机类
- 电子与信息大类
- 大数据类
- 本科
作者简介
内容简介
本书较为系统地讲解了大数据处理平台Hadoop和Spark生态系统的相关技术原理、使用方法和开发技术,全书共11章,主要包括大数据技术概述、大数据处理平台Hadoop、分布式文件系统HDFS、分布式计算框架MapReduce、Hadoop的发展和演化、数据仓库——Hive、分布式数据库——HBase、Spark的基本概念和整体架构及集群安装、Spark核心编程、Spark生态系统、Flinkk基本概念和体系结构及编程实践。
目录
第1章 绪论/1
1.1 大数据发展背景/1
1.2 大数据基本概念与特点/2
1.2.1 大数据基本概念/2
1.2.2 大数据的特点/4
1.3 大数据处理的关键技术/5
1.3.1 数据采集/5
1.3.2 数据存储/6
1.3.3 分析、建模、计算/7
1.3.4 结果展示/9
1.3.5 数据安全与隐私保护/10
1.4 大数据处理框架/11
1.4.1 并行计算面临的挑战/11
1.4.2 大数据并行处理系统/12
1.4.3 大数据并行处理框架的发展历程/13
1.5 大数据应用/16
1.5.1 大数据产业构建/16
1.5.2 大数据应用场景/18
1.5.3 大数据行业发展趋势/20
小结/21
习题/21
思政小讲堂/22
第2章 大数据处理框架Hadoop/23
2.1 Hadoop概述/23
2.1.1 Hadoop的概念/23
2.1.2 Hadoop发展史/24
2.1.3 Hadoop版本/25
2.2 Hadoop的体系结构和生态系统/26
2.2.1 Hadoop的体系结构/26
2.2.2 Hadoop生态系统/29
2.3 Hadoop的特点、应用与发展趋势/31
2.3.1 Hadoop的特点/31
2.3.2 Hadoop的应用现状和前景/31
2.4 Hadoop集群搭建和安装配置/34
2.4.1 Hadoop集群搭建概述/34
2.4.2 Hadoop安装、配置和启动/35
小结/47
习题/47
思政小讲堂/47
第3章 分布式文件系统HDFS/49
3.1 分布式文件系统概述/49
3.2 HDFS简介/51
3.3 HDFS体系结构及相关概念/53
3.3.1 HDFS体系结构/53
3.3.2 HDFS相关概念/53
3.4 HDFS的工作机制/59
3.4.1 HDFS读数据的过程/60
3.4.2 HDFS写数据的过程/61
3.5 访问HDFS的方式/62
3.5.1 HDFS的Shell命令行方式/63
3.5.2 HDFS的JavaAPI编程方式/65
3.5.3 HDFS的Web访问方式/68
3.6 实战:用Java复制文件到HDFS/69
小结/82
习题/82
思政小讲堂/83
第4章 分布式计算框架MapReduce/84
4.1 初识MapReduce/84
4.1.1 MapReduce简介/84
4.1.2 MapReduce的设计构思/85
4.1.3 MapReduce的特点/87
4.2 MapReduce的编程模型/88
4.2.1 概述/88
4.2.2 第一个MapReduce程序—— WordCount程序/89
4.3 MapReduce的工作机制/94
4.3.1 MapReduce的基本架构/94
4.3.2 MapReduce的执行过程/96
4.3.3 MapReduce的Shuffle过程/99
4.4 HadoopMapReduce的序列化机制/101
4.4.1 序列化概述/101
4.4.2 Hadoop对序列化机制的要求/102
4.4.3 Hadoop中的序列化相关接口/102
4.5 MapReduce的性能调优/105
4.5.1 MapReduce的参数配置优化/105
4.5.2 启用数据压缩/109
4.5.3 重用JVM/109
4.6 实战:MapReduce程序统计文本单词出现频次/110
小结/117
习题/118
思政小讲堂/118
第5章 Hadoop的发展与优化/119
5.1 概述/119
5.2 HDFS的高可用和联邦/120
5.2.1 HDFS的HA机制/120
5.2.2 HDFS的Federation机制/123
5.3 资源管理调度框架YARN/125
5.3.1 YARN简介/125
5.3.2 YARN的基本架构/128
5.3.3 YARN的工作流程/130
5.3.4 YARN的完善/132
5.4 分布式协调服务组件Zookeeper/133
5.4.1 Zookeeper概述/133
5.4.2 Zookeeper服务/135
5.4.3 Zookeeper的应用场景/138
5.4.4 Zookeeper的安装配置/140
5.5 实战:开发一个YARN客户端应用/142
小结/153
习题/153
思政小讲堂/154
第6章 分布式数据库HBase/156
6.1 HBase概述/156
6.1.1 HBase简介/156
6.1.2 安装HBase/158
6.2 HBase基础/160
6.2.1 HBase架构/160
6.2.2 HBase数据存储/162
6.3 HBaseShell命令行方式/163
6.3.1 NameSpace操作/164
6.3.2 DDL操作/164
6.3.3 DML操作/165
6.4 HBaseAPI编程方式/165
6.4.1 客户端配置/165
6.4.2 创建表/166
6.4.3 删除表/167
6.4.4 插入数据/167
6.4.5 查询数据/168
6.4.6 删除数据/169
6.5 实战:HBaseShell操作/169
小结/176
习题/176
思政小讲堂/176
第7章 数据仓库Hive/179
7.1 初识Hive/179
7.1.1 Hive简介/179
7.1.2 Hive的数据类型/180
7.2 Hive的原理及架构/180
7.3 Hive的数据操作和查询语言/181
7.3.1 HiveShell命令行形式/181
7.3.2 HiveDDL操作/182
7.3.3 HiveDML操作/183
7.4 Hive的高级技术/185
7.4.1 Hive复杂数据类型/185
7.4.2 Hive索引/187
7.4.3 优化Hive执行/188
7.4.4 使用分区/188
7.4.5 使用桶/190
7.4.6 HiveJava编程接口/191
7.4.7 Hive自定义函数/192
7.5 实战:Hive综合实例/193
小结/196
习题/196
思政小讲堂/196
第8章 基于内存的分布式计算
框架Spark/198
8.1 Spark概述/198
8.1.1 Spark的发展/198
8.1.2 Spark与Hadoop的比较/199
8.1.3 Spark的特点/200
8.2 Spark架构设计/201
8.3 Spark运行架构及运行原理/203
8.4 Spark部署模式/204
8.5 Spark的应用场景/205
8.5.1 数据处理应用/205
8.5.2 数据科学任务/206
8.6 Spark集群安装与启动/207
8.6.1 集群的安装/208
8.6.2 SparkShell/210
小结/214
习题/214
思政小讲堂/214
第9章 Spark核心编程/216
9.1 RDD编程基础/216
9.1.1 RDD概述/216
9.1.2 RDD创建/217
9.1.3 RDD操作/219
9.1.4 RDD持久化/222
9.1.5 RDD分区/224
9.1.6 RDD容错机制/227
9.2 SparkDAG工作原理/227
9.2.1 Lineage概述/227
9.2.2 SparkDAG概述/228
9.2.3 SparkDAGScheduler概述/229
9.3 Sparkstage概述/231
9.4 Spark基础编程实践/232
9.4.1 数据读写/232
9.4.2 SparkRDD基本操作/238
小结/251
习题/251
思政小讲堂/252
第10章 Spark生态系统/253
10.1 SparkSQL介绍/253
10.1.1 SparkSQL接口/254
10.1.2 SparkSession简介/254
10.1.3 DataFrame创建与操作/255
10.1.4 SparkSQL临时视图与全局视图/257
10.1.5 SparkSQL创建Datasets/258
10.1.6 将RDD转化为DataFrame/259
10.1.7 SparkSQL数据源/261
10.1.8 SparkSQLREPL/263
10.2 SparkStreaming/263
.10.2.1SparkStreaming概述/263
10.2.2 SparkStreaming工作机制/264
10.2.3 DStream概述/265
10.2.4 SparkStreaming数据输入源/265
10.2.5 DStream支持的转换操作/266
10.2.6 DStream窗口操作/267
10.2.7 DStream输出操作/269
10.3 StructuredStreaming/269
10.3.1 StructuredStreaming概述/270
10.3.2 StructuredStreaming处理模型/271
10.4 SparkMLlib/272
10.4.1 MLlib概述/273
10.4.2 基本数据类型/273
10.4.3 Spark机器学习基本统计/276
10.4.4 Spark机器学习Pipeline/278
10.4.5 Pipeline示例/279
10.5 SparkGraphX介绍/281
10.5.1 属性图/281
10.5.2 属性图实例/282
10.5.3 图操作/283
小结/289
习题/289
思政小讲堂/289
第11章 流式数据处理引擎Flink/291
11.1 Flink概述/291
11.1.1 Flink的发展/291
11.1.2 Flink流处理的基本组件/292
11.1.3 Flink应用/294
11.1.4 Flink的部署/297
11.2 Flink架构/298
11.3 Flink编程模型/301
11.4 Flink应用程序结构/302
11.5 Flink环境搭建和简单使用/304
11.5.1 安装Flink/304
11.5.2 ScalaShell的使用/305
11.5.3 使用IntelliJIDEA开发Flink应用程序/306
小结/312
习题/312
思政小讲堂/312
参考文献/314
1.1 大数据发展背景/1
1.2 大数据基本概念与特点/2
1.2.1 大数据基本概念/2
1.2.2 大数据的特点/4
1.3 大数据处理的关键技术/5
1.3.1 数据采集/5
1.3.2 数据存储/6
1.3.3 分析、建模、计算/7
1.3.4 结果展示/9
1.3.5 数据安全与隐私保护/10
1.4 大数据处理框架/11
1.4.1 并行计算面临的挑战/11
1.4.2 大数据并行处理系统/12
1.4.3 大数据并行处理框架的发展历程/13
1.5 大数据应用/16
1.5.1 大数据产业构建/16
1.5.2 大数据应用场景/18
1.5.3 大数据行业发展趋势/20
小结/21
习题/21
思政小讲堂/22
第2章 大数据处理框架Hadoop/23
2.1 Hadoop概述/23
2.1.1 Hadoop的概念/23
2.1.2 Hadoop发展史/24
2.1.3 Hadoop版本/25
2.2 Hadoop的体系结构和生态系统/26
2.2.1 Hadoop的体系结构/26
2.2.2 Hadoop生态系统/29
2.3 Hadoop的特点、应用与发展趋势/31
2.3.1 Hadoop的特点/31
2.3.2 Hadoop的应用现状和前景/31
2.4 Hadoop集群搭建和安装配置/34
2.4.1 Hadoop集群搭建概述/34
2.4.2 Hadoop安装、配置和启动/35
小结/47
习题/47
思政小讲堂/47
第3章 分布式文件系统HDFS/49
3.1 分布式文件系统概述/49
3.2 HDFS简介/51
3.3 HDFS体系结构及相关概念/53
3.3.1 HDFS体系结构/53
3.3.2 HDFS相关概念/53
3.4 HDFS的工作机制/59
3.4.1 HDFS读数据的过程/60
3.4.2 HDFS写数据的过程/61
3.5 访问HDFS的方式/62
3.5.1 HDFS的Shell命令行方式/63
3.5.2 HDFS的JavaAPI编程方式/65
3.5.3 HDFS的Web访问方式/68
3.6 实战:用Java复制文件到HDFS/69
小结/82
习题/82
思政小讲堂/83
第4章 分布式计算框架MapReduce/84
4.1 初识MapReduce/84
4.1.1 MapReduce简介/84
4.1.2 MapReduce的设计构思/85
4.1.3 MapReduce的特点/87
4.2 MapReduce的编程模型/88
4.2.1 概述/88
4.2.2 第一个MapReduce程序—— WordCount程序/89
4.3 MapReduce的工作机制/94
4.3.1 MapReduce的基本架构/94
4.3.2 MapReduce的执行过程/96
4.3.3 MapReduce的Shuffle过程/99
4.4 HadoopMapReduce的序列化机制/101
4.4.1 序列化概述/101
4.4.2 Hadoop对序列化机制的要求/102
4.4.3 Hadoop中的序列化相关接口/102
4.5 MapReduce的性能调优/105
4.5.1 MapReduce的参数配置优化/105
4.5.2 启用数据压缩/109
4.5.3 重用JVM/109
4.6 实战:MapReduce程序统计文本单词出现频次/110
小结/117
习题/118
思政小讲堂/118
第5章 Hadoop的发展与优化/119
5.1 概述/119
5.2 HDFS的高可用和联邦/120
5.2.1 HDFS的HA机制/120
5.2.2 HDFS的Federation机制/123
5.3 资源管理调度框架YARN/125
5.3.1 YARN简介/125
5.3.2 YARN的基本架构/128
5.3.3 YARN的工作流程/130
5.3.4 YARN的完善/132
5.4 分布式协调服务组件Zookeeper/133
5.4.1 Zookeeper概述/133
5.4.2 Zookeeper服务/135
5.4.3 Zookeeper的应用场景/138
5.4.4 Zookeeper的安装配置/140
5.5 实战:开发一个YARN客户端应用/142
小结/153
习题/153
思政小讲堂/154
第6章 分布式数据库HBase/156
6.1 HBase概述/156
6.1.1 HBase简介/156
6.1.2 安装HBase/158
6.2 HBase基础/160
6.2.1 HBase架构/160
6.2.2 HBase数据存储/162
6.3 HBaseShell命令行方式/163
6.3.1 NameSpace操作/164
6.3.2 DDL操作/164
6.3.3 DML操作/165
6.4 HBaseAPI编程方式/165
6.4.1 客户端配置/165
6.4.2 创建表/166
6.4.3 删除表/167
6.4.4 插入数据/167
6.4.5 查询数据/168
6.4.6 删除数据/169
6.5 实战:HBaseShell操作/169
小结/176
习题/176
思政小讲堂/176
第7章 数据仓库Hive/179
7.1 初识Hive/179
7.1.1 Hive简介/179
7.1.2 Hive的数据类型/180
7.2 Hive的原理及架构/180
7.3 Hive的数据操作和查询语言/181
7.3.1 HiveShell命令行形式/181
7.3.2 HiveDDL操作/182
7.3.3 HiveDML操作/183
7.4 Hive的高级技术/185
7.4.1 Hive复杂数据类型/185
7.4.2 Hive索引/187
7.4.3 优化Hive执行/188
7.4.4 使用分区/188
7.4.5 使用桶/190
7.4.6 HiveJava编程接口/191
7.4.7 Hive自定义函数/192
7.5 实战:Hive综合实例/193
小结/196
习题/196
思政小讲堂/196
第8章 基于内存的分布式计算
框架Spark/198
8.1 Spark概述/198
8.1.1 Spark的发展/198
8.1.2 Spark与Hadoop的比较/199
8.1.3 Spark的特点/200
8.2 Spark架构设计/201
8.3 Spark运行架构及运行原理/203
8.4 Spark部署模式/204
8.5 Spark的应用场景/205
8.5.1 数据处理应用/205
8.5.2 数据科学任务/206
8.6 Spark集群安装与启动/207
8.6.1 集群的安装/208
8.6.2 SparkShell/210
小结/214
习题/214
思政小讲堂/214
第9章 Spark核心编程/216
9.1 RDD编程基础/216
9.1.1 RDD概述/216
9.1.2 RDD创建/217
9.1.3 RDD操作/219
9.1.4 RDD持久化/222
9.1.5 RDD分区/224
9.1.6 RDD容错机制/227
9.2 SparkDAG工作原理/227
9.2.1 Lineage概述/227
9.2.2 SparkDAG概述/228
9.2.3 SparkDAGScheduler概述/229
9.3 Sparkstage概述/231
9.4 Spark基础编程实践/232
9.4.1 数据读写/232
9.4.2 SparkRDD基本操作/238
小结/251
习题/251
思政小讲堂/252
第10章 Spark生态系统/253
10.1 SparkSQL介绍/253
10.1.1 SparkSQL接口/254
10.1.2 SparkSession简介/254
10.1.3 DataFrame创建与操作/255
10.1.4 SparkSQL临时视图与全局视图/257
10.1.5 SparkSQL创建Datasets/258
10.1.6 将RDD转化为DataFrame/259
10.1.7 SparkSQL数据源/261
10.1.8 SparkSQLREPL/263
10.2 SparkStreaming/263
.10.2.1SparkStreaming概述/263
10.2.2 SparkStreaming工作机制/264
10.2.3 DStream概述/265
10.2.4 SparkStreaming数据输入源/265
10.2.5 DStream支持的转换操作/266
10.2.6 DStream窗口操作/267
10.2.7 DStream输出操作/269
10.3 StructuredStreaming/269
10.3.1 StructuredStreaming概述/270
10.3.2 StructuredStreaming处理模型/271
10.4 SparkMLlib/272
10.4.1 MLlib概述/273
10.4.2 基本数据类型/273
10.4.3 Spark机器学习基本统计/276
10.4.4 Spark机器学习Pipeline/278
10.4.5 Pipeline示例/279
10.5 SparkGraphX介绍/281
10.5.1 属性图/281
10.5.2 属性图实例/282
10.5.3 图操作/283
小结/289
习题/289
思政小讲堂/289
第11章 流式数据处理引擎Flink/291
11.1 Flink概述/291
11.1.1 Flink的发展/291
11.1.2 Flink流处理的基本组件/292
11.1.3 Flink应用/294
11.1.4 Flink的部署/297
11.2 Flink架构/298
11.3 Flink编程模型/301
11.4 Flink应用程序结构/302
11.5 Flink环境搭建和简单使用/304
11.5.1 安装Flink/304
11.5.2 ScalaShell的使用/305
11.5.3 使用IntelliJIDEA开发Flink应用程序/306
小结/312
习题/312
思政小讲堂/312
参考文献/314
















