本书是大数据分析技术的入门图书,内容分为大数据分析与挖掘概述、Spark SQL结构化数据分析与处理、Spark Streaming流数据分析与处理、Spark GraphX图数据分析与处理、Spark MLlib机器学习和大数据分析系统等6章。通过每章的章节导读,读者能够快速了解本章相关内容的背景意义;通过相关理论及概念的介绍,读者能够对大数据分析的基本方法有整体认识和了解;通过典型案例的讲解,读者能够对大数据分析技术的应用有深刻认识。本书既注重基础知识也关注前沿问题,通过知识链接、小贴士等板块补充相关前沿知识内容。
本书可作为数据科学与大数据专业人员的入门读物,也可作为相关职业教育课程的参考书,还可作为大数据技术应用的爱好者以及各领域大数据建设、管理和运用者的参考书。
近年来科学技术的发展和普及促进了各领域的不断发展,各学科均出现了相互交融的现象。在这种背景下,数据正在从传统的结构化模式向着半结构化以及非结构化模式的方向转换,从以往作为常规的处理对象逐渐发展成为各行业领域具有战略性的基础资源。如何有效地处理这些海量的数据资源,发现其蕴藏的知识规律,需要大数据处理技术的支持。Spark作为新兴的、应用范围广泛的大数据处理开源框架,可以从海量数据中找到值得参考的模式或规则,转换成有价值的知识,并创造更多新价值,从而吸引大量的大数据分析与挖掘从业人员进行相关内容的学习与开发。
本书结合Spark框架,较为全面地介绍了大数据分析与挖掘的相关知识,内容涵盖大数据分析与挖掘概述、Spark SQL结构化数据分析与处理、Spark Streaming流数据分析与处理、Spark GraphX图数据分析与处理、Spark MLlib机器学习和大数据分析系统。本书旨在通过通俗易懂的方式将复杂的大数据分析问题讲明白,帮助读者了解并掌握最新的大数据分析处理技术。
本书具有以下特点:
(1) 条理清晰,模块丰富,内容极具特色。
本书从“简单、易懂、实用、有效”出发,以素质为核心,以能力为本位,注重知识和技能的实际灵活应用。本书在内容的编写上设置了“章节导读”“学习目标”“思政目标”“知识链接”“课后思考”等模块,逐步引导读者更好地掌握知识内容。
(2) 注重实用性、技能性和应用性。
本书精选前沿大数据分析技术,力求知识新颖、案例丰富鲜活,同时配备丰富的教辅资源,理论与实践相结合,提升解决问题的能力,突出实用性、技能性和应用性。
(3) 理论为主,案例为辅,通俗易懂。
本书以基本理论介绍为主,辅以示例,讲解细致直观,抓住核心问题,力求将复杂的大数据分析技术方法以通俗易懂的方式讲明白。
在编写本书的过程中,我们参考了相关资料,在此对相关文献的作者表示衷心的感谢;同时,我们也得到了许多同行的支持与帮助,在此表示感谢。由于编者能力有限,书中难免存在一些不足,敬请广大读者批评和指正。
编 者
2023年1月
第1章 大数据分析与挖掘概述 1
1.1 大数据分析的计算模式 1
1. 批处理计算 2
2. 查询分析计算 2
3. 流计算 2
4. 图计算 3
5. 机器学习 3
1.2 认识大数据分析计算框架Spark 4
1. Spark简介 4
2. Spark的特点 7
3. Spark与Hadoop MapReduce的对比 9
第2章 Spark SQL 结构化数据分析与处理 13
2.1 Spark SQL简介 13
1. Hive 13
2. Shark 17
2.2 DataFrame概述 20
1. DataFrame简介 20
2. DataFrame与RDD的区别 22
2.3 DataFrame 的转换 26
1. 宽依赖与窄依赖 26
2. DataFrame和Dataset以及RDD之间的相互转换 27
第3章 Spark Streaming 流数据分析与处理 29
3.1 流计算概述 29
1. 静态数据与流数据 29
2. 流计算的基本理念 31
3. 流计算框架 31
3.2 Spark Streaming 34
1. 工作原理 34
2. 数据抽象DStream 36
3. 性能调优 41
4. 容错处理 43
5. Spark Streaming与Storm的关系 44
3.3 Spark Structured Streaming 46
1. Spark Structured Streaming简介 46
2. Spark Structured Streaming的特点 47
3. Spark Structured Streaming的数据模型 47
第4章 Spark GraphX 图数据分析与处理 53
4.1 图计算概述 53
1. 图计算 53
2. 图的表示 54
3. 图的结构 55
4. 图处理技术 55
5. 图处理工具 56
6. 图计算应用 58
4.2 Spark GraphX 59
1. Spark GraphX概述 59
2. Spark GraphX模块 60
3. Spark GraphX的发展历程 61
4. Spark GraphX的整体架构 61
第5章 Spark MLlib 机器学习 63
5.1 基于大数据的机器学习 63
1. 机器学习 63
2. 模型与算法的关系 66
3. 基于大数据的机器学习 66
4. 基于大数据的机器学习与传统机器学习的区别 67
5. Spark对于机器学习的优势 67
5.2 Spark MLlib 69
1. Spark MLlib的特点 69
2. Spark MLlib的适用范围 69
3. Spark MLlib库 71
4. Spark ML库 72
5.3 Spark中几种典型的机器学习算法 74
1. 分类与预测 74
2. 逻辑回归 75
3. 协同过滤 76
4. 聚类分析 78
第6章 大数据分析系统 80
6.1 大数据分析系统的背景与构架 80
1. 大数据分析系统的背景 80
2. 应用架构 81
6.2 业务实现与统计分析 82
1. 流量、性能的实时分析 82
2. 流量、性能的统计分析 84
3. 业务关联分析 85
4. 离线报表分析 87
6.3 系统资源分析平台 92
1. 应用架构 92
2. 代码实现 93
3. 结果验证 95
6.4 在Spark上训练LR模型 96
1. 数据格式 96
2. MLlib中LR模型源码介绍 97
参考文献 100