记录自己学习研究 Spark 的探索过程,为后续总结奠定基础。
本文代码研究以 Spark 2.3.0 源代码为基准,如果看本文,请阅读时,下载对应的 Spark 版本。
图1 伯克利的数据分析软件栈BDAS(Berkeley Data Analytics Stack)
这里要先说BDAS(伯克利数据分析栈),是伯克利大学的AMPLab打造的用于大数据的分析的一套开源软件栈,这其中包括了这两年火的爆棚的Spark(Spark Core、Spark SQL、Spark Streaming、MLLib和GraphX等组件,这些组件分别处理Spark Core提供内存计算框架、SparkStreaming的实时处理应用、Spark SQL的即时查询、MLlib或MLbase的机器学习和GraphX的图处理),也包括了冉冉升起的分布式内存系统Alluxio(Tachyon),当然还包括著名的资源管理的开源软件Mesos。可以说Amplab最近几年引领了大数据发展的技术创新的浪潮。从它的官网可以看到这张图片,其中,有不少文字是有链接,指向各自项目的主页的。要查看这些链接,可以到上面BDAS的官网。
1、论文篇
- ......
2、准备篇
3、核心篇
图2 一个 Spark 作业执行图
1)Spark 的初始化
- Spark 核心篇-SparkConf
- Spark 核心篇-RpcEnv
- Spark 核心篇-SparkStatusTracker
- Spark 核心篇-SecurityManager
- Spark 核心篇-SparkUI
- Spark 核心篇-MetricsSystem
2)Spark 内存模型
- ......
3)Spark 存储体系
- Spark 核心篇-SerializerManager
- Spark 核心篇-BroadcastManager
- Spark 核心篇-ShuffleManager
- Spark 核心篇-MemoryManager
- Spark 核心篇-NettyBlockTransferService
- Spark 核心篇-BlockManagerMaster
- Spark 核心篇-BlockManager
4)Spark 计算体系
- Spark 核心篇-LiveListenerBus
- Spark 核心篇-MapOutputTracker
- Spark 核心篇-DAGScheduler
- Spark 核心篇-TaskScheduler
- Spark 核心篇-ExecutorAllocationManager
- Spark 核心篇-OutputCommitCoordinator
- Spark 核心篇-ContextClearner
5)Spark 运行模式
- ......
4、组件篇
1)Spark SQL
- ......
2)Spark Streaming
- ......
3)Spark MLib
- ......
4)Spark Graphx
- ......
5、公共篇
1)Tags