前言

大数据分析一直是热门话题,需要大数据分析的场景也越来越多。 Apache Spark是一个用于快速、通用、大规模数据处理的开源项目。现在, Apache Spark已经成为一个统一的大数据处理平台,拥有快速的统一分析引擎,可用于大数据的批处理、实时流处理、机器学习和图计算。 
2009年,Spark诞生于伯克利大学 AMP实验室,昀初属于伯克利大学的研究性项目。它于2010年被正式开源,于2013年被转交给 Apache软件基金会,并于2014年成为Apache基金的顶级项目,整个过程不到五年时间。 Apache Spark诞生以后,迅速发展成为大数据处理技术中的佼佼者,目前已经成为大数据处理领域炙手可热的技术,其发展势头非常强劲。
自 2010年首次发布以来, Apache Spark已经成为昀活跃的大数据开源项目之一。如今,Apache Spark实际上已经是大数据处理、数据科学、机器学习和数据分析工作负载的统一引擎,是从业人员及希望进入大数据行业人员必须学习和掌握的大数据技术之一,但是作为大数据的初学者,在学习 Spark时通常会遇到以下几个难题:
(1)缺少面向零基础读者的 Spark入门教程。

(2)缺少系统化的 Spark大数据教程。

(3)现有的 Spark资料、教程或图书陈旧或者碎片化。

(4)官方全英文文档难以阅读和理解。

(5)缺少必要的数据集、可运行的实验案例及学习平台。


特别是 Spark 3发布以后,性能得到了极大提升,并且增加了对数据湖等下一代大数据技术的支持。为此,编写本书一方面是为了笔者自己能更系统、更及时地跟进 Spark的演进和迭代;另一方面也是为了降低面向零基础读者学习 Spark(及其他大数据技术)的入门难度。本书具有以下特点:
(1)面向零基础读者,知识点深浅适当,代码完整易懂。
(2)内容全面系统,包括架构原理、开发环境及程序部署、流和批计算、图计算等,并特别包含了 Delta Lake、Iceberg、Hudi等数据湖内容。

(3)版本先进,所有代码均基于 Spark 3.1.2。特别值得一提的是,图计算部分抛弃了性能欠佳的 GraphX,而是引入了下一代 Spark图计算库 GraphFrame进行讲解和演示。


(4)全书包含大量的示例代码讲解和完整项目案例。

本书特别适合想要入门并深入掌握 Apache Spark大数据开发和大数据分析、大数据 OLAP引擎、流计算的读者,希望拥有大数据系统参考教材的教师,以及想要了解昀新 Spark技术应用的从业人员。
本书第 1~3章由郑州财经学院张帆副教授编写,第 4章和第 5章由华北水利水电大学公共管理学院张会娟老师编写,其余部分由辛立伟编写。由于编者水平所限,行文及内容难免存在疏漏之处,请读者见谅并予以反馈,笔者会在后续的版本重构中不断提升质量。
编 者 
2023年 1月