经过前面文章的SparkContextDAGSchedulerTaskScheduler分析,再从总体上了解Spark Job的调度流程

Spark分析之Job Scheduling Process-LMLPHP

1、SparkContext将job的RDD DAG图提交给DAGScheduler;

2、DAGScheduler将job分解成Stage DAG,将每个Stage的Task封装成TaskSet提交给TaskScheduler;窄依赖以pipeline方式执行,效率高;

3、TaskScheduler将TaskSet中的一个个Task提交到集群中去运行;推测任务执行;遇到shuffle丢失的汇报给DAGScheduler,让DAGScheduler重新提交Stage;

4、存储和处理block是由blockmanager来处理的(后续文章描述);

04-30 20:36