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

由上图很容看出DAGScheduler是干嘛的。
DAGScheduler根据依赖关系建立DAG,然后将DAG划分不同的Stage(阶段),然后每组由可以并发执行的一组Task构成。(这些Task逻辑完全相同只是作用的数据不同)
由上图DAG在划分完DAG后,会将Stage里面的task提交到TaskScheduler。TaskScheduler通过Cluster Manager集群管理,将task分配给不同的节点上的worker通过executor执行;
TaskScheduler的实现有细微差别对于不同的资源管理框架下:对于Local、Standalone和Mesos来说,它们的TaskScheduler就是TaskSchedulerImpl;对于YARN Cluster和YARN Client的TaskScheduler的实现是继承自TaskSchedulerImpl;
本文深入解析Spark的调度机制,重点介绍DAGScheduler和TaskScheduler的角色与工作流程。DAGScheduler负责构建并划分任务为Stage,而TaskScheduler则将具体任务分配至集群节点执行,确保并行处理效率。
2033

被折叠的 条评论
为什么被折叠?



