购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

写作背景

笔者在华为技术有限公司担任架构师期间,主导过MetaERP项目高级调度系统计算引擎的自研。在这期间,笔者大规模使用了Spark平台作为分布式计算的底座,因此积累了大量Spark的使用经验。同时,笔者在业余时间撰写和分享了大量有关Spark的技术博客,这些技术博客都被汇总到了开源电子书《跟老卫学Apache Spark开发》。《跟老卫学Apache Spark开发》是一本Spark应用开发的开源学习教程,主要介绍如何从0开始开发Spark应用。

本书在《跟老卫学Apache Spark开发》的基础上做了补充和完善,加入了大量当前Spark的新特性以及案例,希望帮助读者轻松入门Spark。

内容介绍

本书章节安排按照从易到难的方式,循序渐进。本书共10章,各章内容简要介绍如下:

第1~2章主要介绍Spark的基本概念、安装,并介绍如何编写最为简单的Spark程序。实战部分通过一个简单的词频统计任务,带领读者从初始化应用、创建Spark应用程序、准备数据文件到运行程序,一步一步了解Spark的基本使用方法。

第3章详细介绍Spark核心组件之一——弹性分布式数据集(RDD)的基本概念、操作及其编程模型,内容涵盖从RDD的定义和特性,到其创建、操作以及持久化等多个方面。

第4章详细介绍Spark集群管理,包括集群的启动、任务提交、高可用性方案以及使用YARN集群进行资源管理,重点是理解Spark任务提交和执行的基本原理。

第5章详细介绍Spark SQL的基本概念、工作原理以及如何使用Dataset和DataFrame进行数据处理,内容涵盖从基础概念到实际操作的多个方面,包括数据源读取、数据转换、数据导出等。

第6章详细介绍Spark Web UI的功能和使用方法,帮助用户通过界面化的方式来了解Spark集群的运行状况。

第7章详细介绍Spark Streaming的基本概念、操作方法以及性能优化技巧,帮助读者掌握实时数据处理技术。

第8章详细介绍Structured Streaming的基本概念、操作方法以及与Kafka的集成,帮助读者掌握结构化流数据处理技术。

第9章重点介绍MLlib的基本概念、API以及机器学习流水线的构建,帮助读者掌握使用Spark进行机器学习的方法。

第10章主要介绍GraphX的基本概念、属性图的构建以及分区优化,帮助读者掌握使用Spark进行图计算的方法。

此外,本书各章还安排了丰富的实战案例和上机练习题,便于读者巩固知识,边学边练,快速提升操作技能。

本书所采用的技术及相关版本

技术的版本是非常重要的,因为不同版本之间存在兼容性问题,而且不同版本的软件所对应的功能也是不同的。本书所列出的技术在版本上相对较新,都是经过笔者大量测试的。这样读者在自行编写代码时,可以参考本书所列出的版本,从而避免版本兼容性所产生的问题。建议读者将相关开发环境设置得跟本书一致,或者不低于本书所列的配置。

本书使用的Spark及相关工具的版本配置如下:

● Spark 3.5.1

● Scala 2.12.18

● OpenJDK 64-Bit Server VM, Java 17.0.11

● Apache Maven Shade Plugin 3.5.3

● H2 2.2.224

配套资源

本书提供配书源码和PPT课件,用微信扫描以下二维码可免费下载:

读者对象

本书的读者对象主要包括以下几类:

● 对Spark大数据应用感兴趣的大数据、计算机科学或相关专业的学生。

● 想了解Spark 3.x版本新特性的大数据开发人员。

● 负责设计和规划大数据解决方案的架构师。

● 培训机构和高校大数据相关专业的教师。

致谢

感谢清华大学出版社的各位工作人员为本书的出版所做的努力。

感谢家人对笔者的理解和支持。由于撰写本书,笔者牺牲了很多陪伴家人的时间。

感谢关心和支持笔者的朋友、读者、网友。

柳伟卫
2024年8月 OlYZG2CHEC9pxcsSTtBULPCb+Cgoiiq0/sd1E3xuueZgKRvEhHFxOdNM6BmsU8ot

点击中间区域
呼出菜单
上一章
目录
下一章
×