寒假自学进度3
Posted zzstdruan1707-4
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寒假自学进度3相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章