循序渐进学Spark
本书前面几章分别介绍了Spark的生态系统、Spark运行模式及Spark的核心概念RDD和基本算子操作等重要基础知识。
本章重点讲解Spark的主要机制原理,因为这是Spark程序得以高效执行的核心。
本章先从Application、job、stage和task等层次阐述Spark的调度逻辑,
并且介绍FIFO、FAIR等经典算法,
然后对Spark的重要组成模块:
I/O与通信控制模块、
容错模块及Shuffle模块做了深入的阐述。
其中,在Spark I/O模块中,数据以数据块的形式管理,存储在内存、磁盘或者Spark集群中的其他机器上。
Spark集群通信机制采用了AKKA通信框架,在集群机器中传递命令和状态信息。
另外,容错是分布式系统的一个重要特性,Spark采用了lineage与checkpoint机制来保证容错性。
Spark Shuffle模块借鉴了MapReduce的Shuffle机制,但在其基础上进行了改进与创新。
3.1 Spark应用执行机制分析
http://www.jianshu.com/p/4217446a87c4
3.2 Spark调度机制
http://www.jianshu.com/p/7f854512d254
3.3 Spark存储与I/O
http://www.jianshu.com/p/306b02760f4c
3.4 Spark通信机制
http://www.jianshu.com/p/f5ce9dbc1c3f
3.5 容错机制及依赖
http://www.jianshu.com/p/4f40ecfb5f04
3.6 Shuffle机制