SparkContext初始化流程图
其它说明:
- 在createTaskScheduler会根据不同的提交模式创建backend对象(如本地模式为LocalBackend)。
- 在SparkDeploySchedulerBackend中构造ApplicationDescription对象appDesc,该对象描述了Application最大需要多少CPU core,每个slave上需要多少内存.
- 在DAGScheduler和TaskScheduler对象初始化完成后,每执行到一个Action操作就会创建一个job,该job会提交到DAGScheduler,划分为多个stage然后为每个stage创建一个TaskSet。
- TaskScheduler把TaskSet中的每一个task提交到executor上执行
- 关于 DAGScheduler和TaskScheduler的分析在后面章节中说明。