Spark Core---从作业提交到任务调度完整生命周期浅析
来源:互联网 发布:中小学排课软件 编辑:程序博客网 时间:2024/05/17 07:08
1.Spark作业提交到执行是一个怎样的过程?
2.Driver任务提交是一个怎样的过程?
3.作业从提交到任务调度经历了一个怎样的生命周期?
引言
这一小节我们将就之前写的几篇博文,从提交Job,到Stage划分,到任务分发,再到任务的执行,这一完整过程做一系统的回顾。在这一过程中理清思路,明确几篇文章中涉及到的调度关系和逻辑关系。
Spark作业提交到执行过程
上面这个图摘自张包峰的csdn博客,这个图很清晰的描述了作业提交执行的整个过程,略去了细节原理,给人一种清晰直观的流程概况。
通过该图结合一下我之前的博文来描述一下文章的内容和相互关系:
DAGScheduler源码浅析介绍了SparkContext通过DAGScheduler的runJob提交作业,其中通过DAGScheduler的事件队列来处理JobSubmitted事件来处理提交的Job。
DAGScheduler源码浅析2对DAGScheduler中涉及的两个重要组件进行的补充介绍。
Stage生成和Stage源码浅析介绍了将Job划分为Stage的过程,Spark根据RDD的依赖关系划分Stage,最终将其封装成taskset进行提交。
TaskScheduler源码与任务提交原理浅析1介绍了TaskScheduler和SchedulerBackend的关系。
TaskScheduler源码与任务提交原理浅析2介绍了Driver侧的SchedulerBackend是如何进行资源分配和任务调度的,最终派发给Executor去执行。
任务执行机制和Task源码浅析2介绍了Task在Executor中的执行过程。
Driver的任务提交过程
1、Driver程序的代码运行到action操作,触发了SparkContext的runJob方法。
2、SparkContext调用DAGScheduler的runJob函数。
3、DAGScheduler把Job划分stage,然后把stage转化为相应的Tasks,把Tasks交给TaskScheduler。
4、通过TaskScheduler把Tasks添加到任务队列当中,交给SchedulerBackend进行资源分配和任务调度。
5、调度器给Task分配执行Executor,ExecutorBackend负责执行Task。
2.Driver任务提交是一个怎样的过程?
3.作业从提交到任务调度经历了一个怎样的生命周期?
引言
这一小节我们将就之前写的几篇博文,从提交Job,到Stage划分,到任务分发,再到任务的执行,这一完整过程做一系统的回顾。在这一过程中理清思路,明确几篇文章中涉及到的调度关系和逻辑关系。
Spark作业提交到执行过程
上面这个图摘自张包峰的csdn博客,这个图很清晰的描述了作业提交执行的整个过程,略去了细节原理,给人一种清晰直观的流程概况。
通过该图结合一下我之前的博文来描述一下文章的内容和相互关系:
DAGScheduler源码浅析介绍了SparkContext通过DAGScheduler的runJob提交作业,其中通过DAGScheduler的事件队列来处理JobSubmitted事件来处理提交的Job。
DAGScheduler源码浅析2对DAGScheduler中涉及的两个重要组件进行的补充介绍。
Stage生成和Stage源码浅析介绍了将Job划分为Stage的过程,Spark根据RDD的依赖关系划分Stage,最终将其封装成taskset进行提交。
TaskScheduler源码与任务提交原理浅析1介绍了TaskScheduler和SchedulerBackend的关系。
TaskScheduler源码与任务提交原理浅析2介绍了Driver侧的SchedulerBackend是如何进行资源分配和任务调度的,最终派发给Executor去执行。
任务执行机制和Task源码浅析2介绍了Task在Executor中的执行过程。
Driver的任务提交过程
1、Driver程序的代码运行到action操作,触发了SparkContext的runJob方法。
2、SparkContext调用DAGScheduler的runJob函数。
3、DAGScheduler把Job划分stage,然后把stage转化为相应的Tasks,把Tasks交给TaskScheduler。
4、通过TaskScheduler把Tasks添加到任务队列当中,交给SchedulerBackend进行资源分配和任务调度。
5、调度器给Task分配执行Executor,ExecutorBackend负责执行Task。
0 0
- 【Spark Core】从作业提交到任务调度完整生命周期浅析
- Spark Core---从作业提交到任务调度完整生命周期浅析
- 从作业提交到任务调度完整生命周期浅析
- 【Spark Core】TaskScheduler源码与任务提交原理浅析1
- 【Spark Core】TaskScheduler源码与任务提交原理浅析2
- spark 核心作业调度和任务调度
- spark 提交任务到spark
- 从 "No module named pyspark" 到远程提交 spark 任务
- Spark提交任务到集群
- Spark提交任务到集群
- Spark核心作业调度和任务调度之DAGScheduler源码
- spark调度系列------4. RDD依赖的建立以及RDD依赖在任务提交到调度系统的作用
- spark-submit 提交作业到集群
- localhost方式提交作业到spark运行
- Spark1.3从创建到提交:3)任务调度初始化源码分析
- yarn集群上完整spark作业生命周期管理
- [spark] 从spark-submit开始解析整个任务调度流程
- Spark作业提交和DAG调度器生成Task
- Android中的多线程编程(二)Handler的原理(附源码)
- 【YII2学习笔记】20150726-1
- 抛开flash,自己开发实现C++ RTMP直播流播放器
- 7.3 IOMMU流程分析
- 专家术语学习机
- Spark Core---从作业提交到任务调度完整生命周期浅析
- POJ 3548Restoring the digits
- 8.1 Qemu 管理模块与接口
- CF_540C_IceCave
- 安卓内核程序安装机制--
- [FOJ 2121] 神庙逃亡
- POJ 3093Margaritas on the River Walk
- 4.Android四大组件之Activity基本用法
- 8.2 虚拟机Save 与load