Spark Scheduler:DAGScheduler和TaskScheduler。构建的不同的RDD,因为代码逻辑组成了一个DAG。Spark提供了多种转换和动作,将复杂的拓扑隐藏掉,使用户简单的使用。

 

Spark-Scheduler:一,概述
任务调度逻辑视图

由上图很容看出DAGScheduler是干嘛的。

DAGScheduler根据依赖关系建立DAG,然后将DAG划分不同的Stage(阶段),然后每组由可以并发执行的一组Task构成。(这些Task逻辑完全相同只是作用的数据不同)

由上图DAG在划分完DAG后,会将Stage里面的task提交到TaskSchedulerTaskScheduler通过Cluster Manager集群管理,将task分配给不同的节点上的worker通过executor执行;

TaskScheduler的实现有细微差别对于不同的资源管理框架下:对于Local、Standalone和Mesos来说,它们的TaskScheduler就是TaskSchedulerImpl;对于YARN Cluster和YARN Client的TaskScheduler的实现是继承自TaskSchedulerImpl;

 

 

相关文章: