`

spark内核揭秘-04-spark任务调度系统个人理解

阅读更多

spark的任务调度系统如下所示:

 

从上图中可以看出来由RDD Objects产生DAG,然后进入了DAGScheduler阶段,DAGScheduler是面向state的高层次的调度器,DAGScheduler把DAG拆分成很多的tasks,每组的tasks都是一个state,每当遇到shuffle就会产生新的state,可以看出上图一共有三个state;DAGScheduler需要记录那些RDD被存入磁盘等物化动作,同时需寻找task的最优化调度,例如数据本地性等;DAGScheduler还要监视因为shuffle输出导致的失败,如果发生这种失败,可能就需要重新提交该state:

DAGScheduler划分state后以TaskSet为单位把任务,把任务交给底层次的可插拔的调度器TaskScheduler来处理:

可以看出TaskScheduler是一个trait,在目前spark系统中TaskScheduler的实现类只有一个TaskSchedulerImpl:

一个TaskScheduler只为一个SparkContext实例服务,TaskScheduler接受来自DAGScheduler发送过来的分组的任务,DAGScheduler给TaskScheduler发送任务的时候是以Stage为单位来提交的,TaskScheduler收到任务后负责把任务分发到集群中Worker的Executor中去运行,如果某个task运行失败,TaskScheduler要负责重试;另外如果TaskScheduler发现某个Task一直未运行完,就可能启动同样的任务运行同一个Task,那个任务先运行完就用哪个任务的结果。


TaskScheduler发送的任务交给了Worker上的Executor以多线程的方式运行,每一个线程负责一个任务:

 

 

其中的存储系统的管理是BlockManager来负责的:


看一下TaskSet的源码:


从TaskSet源码的第一个参数tasks就可以看出其是一个Task的数组,包含一组Task。

分享到:
评论

相关推荐

    Spark内核解析.docx

    总结来说,Spark内核的理解涉及其核心组件的功能、任务调度策略、内存管理机制以及部署模式的选择。深入理解这些知识点,有助于开发人员编写出更加高效、稳定的Spark应用,同时也能有效解决在项目运行中遇到的问题。

    spark内核揭秘

    《Spark内核揭秘》这本书是Spark亚太研究院的力作,旨在深入解析Spark这一大数据处理框架的核心机制,帮助读者理解Spark的工作原理,同时提供性能优化的实践指导。Spark作为当前广泛使用的分布式计算系统,其高效、...

    精通Spark内核

    1, 通过源码精通Spark内核实现和任务调度; 2,精通RDD、DAGScheduler、TaskScheduler和Worker节点内部的工作的每一步的细节; 3,精通Job的逻辑执行和物理执行; 4,精通Shuffle、Cache、Checkpoint和Broadcast ...

    spark高手之路-内核揭秘

    此阶段主要是通过Spark框架的源码研读来深入Spark内核部分 1.通过源码掌握Spark的任务提交过程 2.通过源码掌握spark集群的任务调度; 3.尤其要精通DAGScheduler,TaskScheduler和worker节点内部的工作的每一步的细节...

    【Spark内核篇03】Spark任务调度机制1

    Spark任务调度机制是Spark核心功能之一,它负责高效地组织和执行Spark应用程序中的计算任务。在深入理解这一机制之前,我们需要了解几个关键概念:Job、Stage和Task。 1. Job:Job是由Spark应用程序中的Action操作...

    Understanding-Memory-Management-In-Spark-For-Fun-And-Profit.pdf

    由于提供的文件信息中包含了重复的标签和无关内容(WeChatOfficialAccounts:BigData321),我将忽略这些部分,并基于标题和描述中所提及的“Understanding-Memory-Management-In-Spark-For-Fun-And-Profit.pdf”和...

    spark 内核艺术.zip

    《Spark内核艺术》这本书深入剖析了Spark的核心技术与设计理念,是理解Spark内核设计的一份宝贵资料。本文将从架构设计、数据处理机制、分布式计算模型等方面详细阐述Spark的关键知识点。 Spark的核心设计理念是...

    spark内核设计与艺术.zip

    《Spark内核设计与艺术》是一本深入探讨Apache Spark核心机制的专业书籍,旨在帮助读者理解Spark的内部工作原理,从而更好地利用这一强大的大数据处理框架。Spark以其高效、易用和可扩展性在大数据领域占据重要地位...

    Spark技术内幕深入解析Spark内核架构设计与实现原理

    《Spark技术内幕深入解析Spark内核架构设计与实现原理》这本书深入探讨了Apache Spark这一分布式计算框架的核心架构和实现机制,旨在帮助读者全面理解Spark的工作原理,并能够有效地利用其进行大数据处理。...

    Spark技术内幕:深入解析Spark内核架构设计与实现原理

    《Spark技术内幕:深入解析Spark内核架构设计与实现原理》是一本专注于深入探究Apache Spark核心技术的书籍。这本书旨在帮助读者理解Spark的内部工作机制,包括其架构设计、分布式计算模型以及机器学习库MLlib的实现...

    Spark技术内幕 深入解析Spark内核架构设计与实现原理 百度云pdf 张安站

    《Spark技术内幕:深入解析Spark内核架构设计与实现原理》是张安站所著的一本深度剖析Spark核心架构和实现细节的专业书籍。Spark作为大数据处理领域的热门框架,以其高效、易用和可扩展性备受青睐。这本书旨在帮助...

    Spark大数据内核天机解密- to 丁立清.pdf

    ### Spark大数据内核天机解密 #### 一、部署模式彻底解析 ##### 1. 部署模式概述 部署模式是Spark集群部署的重要组成部分,它决定了Spark应用程序如何在集群中运行。根据官方文档...

    04_尚硅谷大数据技术之Spark内核1

    Spark内核是Spark框架的核心部分,涉及Spark的核心运行机制,包括了Spark核心组件的运作、任务调度、内存管理以及关键功能的原理。深入理解Spark内核对于开发高效、稳定的Spark应用至关重要。 ### 1. Spark核心组件...

    Spark内核机制解析及性能调优

    本资料《Spark内核机制解析及性能调优》深入探讨了Spark的核心原理以及如何对其进行优化,以提升大数据处理的效率。 首先,Spark的核心组件包括Driver、Executor、RDD(弹性分布式数据集)和DAG Scheduler。Driver...

    Spark技术内幕 深入解析Spark内核架构设计与实现原理

    《Spark技术内幕:深入解析Spark内核架构设计与实现原理》是一本专注于揭示Spark核心机制的专著。这本书深入浅出地介绍了Spark如何处理大数据,包括其执行引擎、内核架构以及不同执行阶段的调度策略。Spark作为一种...

    Spark-内核源码解析.docx

    TaskScheduler 是任务调度器,将 Tasks 传给底层调度器,如 spark-cluster TaskScheduler、yarn-cluster YarnClusterScheduler、yarn-client YarnClientClusterScheduler 等。TaskScheduler 负责将 Task 传给 Worker...

    Spark实战高手之路-第6章Spark SQL编程动手实战(1)

    - **第三阶段:深入Spark内核** - 学习Spark的核心组件和运行机制,包括调度器、执行器等。 - 了解Spark如何处理数据分区、任务调度等底层细节。 - **第四阶段:掌握基于Spark的核心框架应用** - 包括Spark SQL、...

Global site tag (gtag.js) - Google Analytics