码迷,mamicode.com
首页 > 其他好文 > 详细

寒假自学进度3

时间:2020-02-01 19:30:14      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:关系   创建   发送   exec   任务   代码   阶段   之间   text   

Spark运行基本流程

技术图片

 

 

  (1)当一个 Spark Application 被提交时,首先需要为这个应用构建起基本的运行环境, 即由 Driver 创建一个 SparkContext进行资源的申请、任务的分配和监控。

SparkContext 会向资源管理器注册并申 请运行 Executor 的资源;

 

 

  (2)资源管理器为 Executor 分配资源,并启动 Executor 进程,

Executor 启动以后会不断向资源管理器汇报其运行情况

 

  (3)SparkContext 根据 RDD 的依赖关系构建 DAG 图,DAG 图提交给 DAGScheduler 进行解析,将 DAG 图分解成 Stage,并且计算出各个 Stage 之间的依赖关系,(每一个Stage阶段里面都会包含多个task,这些task构成一个taskset)然后把一个个 TaskSet 提交给底层任务调度器 TaskScheduler 进行处理;

TaskScheduler拿到taskset以后要把任务分配给相关的Executor 进程去运行这些task,但是它不能随便分配 必须接到Executor申请才会分配

Executor 会向 SparkContext 申请 Task,Task Scheduler将相关Task发送给Executor运行,同时,SparkContext也会将应用程序代码发放给Executor;


  (4)Task 在 Executor 上运行,把执行结果反馈给 TaskScheduler,然后反馈给 DAGScheduler,运行完毕后写入数据并释放所有资源。

技术图片

 技术图片

 

寒假自学进度3

标签:关系   创建   发送   exec   任务   代码   阶段   之间   text   

原文地址:https://www.cnblogs.com/zzstdruan1707-4/p/12249458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!