瞌睡中的葡萄虎

博客园 首页 新随笔 联系 订阅 管理

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

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来处理的(后续文章描述);

posted on 2014-08-02 02:04  瞌睡中的葡萄虎  阅读(633)  评论(0编辑  收藏  举报