
许利杰 方亚芬
近年来,以Apache Spark为代表的大数据处理框架在学术界和工业界得到了广泛的使用。本书以Apache Spark框架为核心,总结了大数据处理框架的基础知识、核心理论、典型的Spark应用,以及相关的性能和可靠性问题。本书分9章,主要包含四部分内容。第一部分 大数据处理框架的基础知识(第1~2章):介绍大数据处理框架的基本概念、系统架构、编程模型、相关的研究工作,并以一个典型的Spark应用为例概述Spark应用的执行流程。第二部分 Spark大数据处理框架的核心理论(第3~4章):介绍Spark框架将应用程序转化为逻辑处理流程,进而转化为可并行执行的物理执行计划的一般过程及方法。第三部分 典型的Spark应用(第5章):介绍迭代型的Spark机器学习应用和图计算应用。第四部分 大数据处理框架性能和可靠性保障机制(第6~9章):介绍Spark框架的Shuffle机制、数据缓存机制、错误容忍机制、内存管理机制等。
good,适合慢慢学习和去看的一本书,市面上spark的书中的最佳选择
整体适合对spark基础弱的同学,它把整个spark基础知识都有系统讲了一遍,但是需要提升的同学不适合,比如优化等思想提了,但是没有讲深,讲完整。
强烈推荐的spark进阶资料,小部分内容偏向学术综述。在方法论级别将理论和具体的API使用相结合的资料少之又少,不仅仅讲是什么更讲为什么。更好的是书中大量图示让读者很容易领会作者想要表达的意思。还有专门的配套仓库,便于实验和理解(https://github.com/JerryLead/ApacheSparkBook/tree/master) 整体篇幅并不长,但是书中几乎每一个章节都让人印象深刻,每一个问题都是有的放矢,并娓娓道来(提出问题->给出思路->具体实现和解决方案)。每一个简单的问题背后都有大量的思考和权衡。 收获较大的章节有,逻辑处理中各个算子的比较和图示,物理执行计划中为了解决重复计算和串联操作引出宽窄依赖的概念,以及job划分,stage划分和task并行度的实现思路。典型spark迭代程序的特点和执行区别,shuffle存在的意义和设计思路,shuffle write和shuffle read框架的实现和细节,数据缓存的意义和实现机制,通过对数据和计算溯源的问题引出lineage的概念,为什么checkpoint会产生额外job等等 总之,这并不是一本一遍就能完全消化吸收的书,需要结合实践场景进行反复的揣摩和思考,收获满满!
国外的经典书籍都是针对一个重要概念讲细讲透,国内作者没这水平,只能多凑些知识点。这本书貌似想要向国外学习,可水平不够,找了些知识点按重要概念的方式去讲,还不如浓缩成几十页的小册子
写的非常好,书薄但内容精炼一页内容就顶其他书一整章,架构图流程图画的很用心,更有助于理解spark架构,是一本不可多得的好书