《Spark内核设计的艺术:架构设计与实现》是一本针对想要深入学习Scala和Spark语言开发的人员的必读之作。该书通过深入讲解Spark内核设计的精髓,细化到方法级别,并使用多个流程图立体呈现了Spark 2.1.0的架构和实现。书中包含了七大核心设计,涵盖了架构、环境、调度、存储、计算、部署以及API等方面。这本书的独特之处在于它不仅提供了理论知识,还结合实际案例进行讲解,使读者能够更好地理解和应用所学内容。通过阅读本书,读者将能够系统地掌握Spark内核设计的关键要点,从而在Scala和Spark语言开发方面取得更大的进步和成功。
Spark内核设计的艺术:架构设计与实现 电子书封面
读者评价
Spark从表面上看与之前版本大的不同是API,所以本章拿个别API的实现作为例子,分析其源码实现,让读者理解新老API之间的异同。
Spark2.10版本的,比较新的一个版本,作者大牛,对学习spark技术的帮助会很大,吐槽下,纸张很薄不怎么好,感觉印刷的有问题
内容介绍
《Spark内核设计的艺术:架构设计与实现》是多位专家联袂推荐,360大数据专家撰写,剖析Spark 2.1.0架构与实现精髓。细化到方法级,提炼出多个流程图,立体呈现架构、环境、调度、存储、计算、部署、API七大核心设计。本书一共有10章内容,主要包括以下部分。
准备部分:介绍Spark的环境搭建和基本原理,有效降低了读者进入Spark世界的门槛,同时对Spark背景知识及整体设计能有宏观的认识。
基础部分:介绍Spark的基础设施(包括配置、RPC、度量等)、初始化、执行环境等内容,使读者深入理解RPC框架的设计、执行环境功能,是了解核心内容的前提。
核心部分:该部分是Spark最为核心的部分,涵盖存储体系、调度系统、计算引擎、部署模式等。读者将充分了解Spark的数据处理与实现细节,透视本质,是进行定制化、性能优化、精准排查的基础,学习和工作更加高效。
API部分:这部分主要对Spark的新老API进行对比,对新API进行简单介绍。
适读人群 :本书主要适合于以下读者:1.想要学习Scala语言的开发人员2.想要学习Spark原理的数据开发人员3.服务器和分布式系统开发人员4.分布式系统架构师5.Spark集群运维、部署及性
目录
- 第1章 环境准备 1
- 第2章 设计理念与基本架构 24
- 第3章 Spark基础设施 39
- 第4章 SparkContext的初始化 93
- 第5章 Spark执行环境 132
- 第6章 存储体系 219
- 第7章 调度系统 309
- 第8章 计算引擎
- 第9章 部署模式
- 第10章 Spark API
Spark的一些其他特点: 检查点支持 Spark的RDD之间维护了Lineage关系,一旦某个RDD失败,则可以由父RDD重建,虽然lineage可以用于错误后RDD的恢复,但对于很长的Lineage来说,恢复过程非常的耗时,如果应用启动了检查点,那么在Stage中的Task都执行成功后,SparkContext将把RDD计算的结果保存到检查点,这样当某个RDD执行失败后,再由父RDD重建时就不需要重新计算,而是直接从检查点恢复数据. 易于使用 Spark现在支持Java,Scala,Python和R等语言编写应用程序,大大降低了使用者的门槛.除此之外,还自带80多个高等操作符,允许在Scala,Python,R的shell中进行交互查询. 支持交互式查询 Spark使用Scala开发,并借助Scala类库中的Lloop实现交互式shell,提供对REPL(Read-eval-print-loop)的实现. 支持流式计算 与Hadoop 的 MapReduce只能处理离线数据相比,Spark还支持实时的流式计算.Spark依赖Spark Streaming对数据进行实时的处理,其流式处理能力还要强于Storm. 高可用性 Spark自身实现了Standalone部署模式,此模式下的Master可以有多个,解决了单点故障问题.Spark也完全支持使用外部部署模式,比如常用的Yarn,以及Mesos,EC2等. 丰富的数据源支持 Spark除了可以访问操作系统自身的文件系统和HDFS之外,还可以访问Kafka,Socket,HBase,Hive以及任何Hadoop的数据源,这极大的方便了已经使用HDFS,HBase的用户顺利迁移到Spark. 丰富的文件格式支持 Spark支持文件文件格式,CSV文件格式,JSON文件格式,ORC文件格式,Parquet文件格式,Libsvm文件格式,也有利于Spark与其他数据处理平台对接.
初识Spark Spark是一个通用的并行计算框架,由加州伯克利大学的AMP实验室开发于2009年,并于2010年开源.2013年在Apache旗下成长为大数据领域最活跃得开源框架之一, Spark也是基于map reduce算法模型实现的分布式计算框架.