吐血奉献,Spark-Core源码阅读,适合新手,详细请见链接:
http://download.csdn.net/detail/wl044090432/9421721
目录结构为:
一. Spark的部署方式Standalone、YARN、Mesos. 2
1. Standalone.2
2. Mesos.3
3. YARN..3
二. Standalone部署下的Driver,Master和Work如何启动... 4
1. Master的启动...4
2. Work的启动...12
3. Driver的启动...19
4. 流程图...24
三. Spark Context的初始化...24
1. Application的注册... 24
2. Excutor的启动... 34
3. 流程图... 40
四. 详解Rdd. 40
1. Rdd的基本组成... 40
2. Rdd的Transformation和action. 43
3. Rdd的依赖... 44
五. Job的提交... 44
1. Dependency、Stage和Task的划分... 44
2. job的具体执行过程... 45
3. job的运行过程的日志打印... 62
3.1 DAG图 62
3.2 Driver端日志:...62
六. Application中Job的调度... 64
1. Job调度的类结构... 65
2. FAIR调度的资源池组成... 66
3. FAIR调度原理解析... 69
3.1 TaskSetManager的提交...69
3.2 TaskSetManager的调度...71
七. BlockManager(分布式缓存的实现)... 83
1.RDD的存储等级...83
2.Driver和Excutor的交互...85
2.1 Driver接受Excutor指令的过程:...85
2.2 Excutor接受Driver指令的过程:...86
2.3 Excutor和Excutor之间相互接受指令的过程:...87
3.Block的生成过程(Rdd如何遍历其分区数据)...87
4. 广播变量的原理...89
4.1 广播变量如何存储...89
4.2 广播变量如何读取...90
八. 详解Shuffle. 92
1.当前后RDD的分区函数相等时...95
2.当前后RDD的分区函数不相等时...98
2.1 HashShuffleManager.101
2.1.1ShuffleWrite.101
2.1.2ShuffleRead.103
2.1.3 流程图...104
2.1.3.1consolidateShuffleFiles=true.104
2.1.3.2consolidateShuffleFiles=false.106
2.2 SortShuffleManager.106
2.2.1ShuffleWrite.106
2.2.2ShuffleRead.111
2.2.2 流程图...111
九. 详解RDD的CheckPoint机制... 112
1.RDDCheckPoint数据的写入...113
2.RDDCheckPoint数据的读取...115
十. Spark-Streaming. 116
1.Kafka和Spark-Streaming结合的receiver方式,不开启WAL功能...117
1.1 Driver端启动流程...117
1.2 Receiver端启动流程...125
1.3 Driver端和Receiver端的交互...134
2. Kafka和Spark-Streaming结合的receiver方式,开启WAL功能...135
2.1 Receiver端流程...137
2.2 Driver端流程...149
2.3 Receiver和Dirver端的交互...153
2.4 Spark-Streaming恢复流程...154
3. Kafka和Spark-Streaming结合的direct方式...159
3.1 Receiver不存在...161
3.2 Job如何提交...161