|NO.Z.00085|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|Spark 原理 源码|作业执行原理&任务调度概述|

一、作业执行原理
### --- 任务调度概述

~~~     再次简要回顾 Spark 中的几个重要概念:
~~~     Job 是以 Action 方法为界,遇到一个 Action 方法则触发一个 Job
~~~     Stage 是 Job 的子集,以 RDD 宽依赖(即 Shuffle)为界,遇到 Shuffle 做一次划分。
### --- Stage有两个具体子类:

~~~     ShuffleMapStage,是其他 Stage 的输入
~~~     ShuffleMapStage 内部的转换操作(map、filter等)会组成pipeline,连在一起计算
~~~     产生 map 输出文件(Shuffle 过程中输出的文件)
~~~     ResultStage。一个job中只有一个ResultStage,最后一个 Stage 即为 ResultStage
~~~     Task 是 Stage 的子集,以并行度(分区数)来衡量,分区数是多少,则有多少个 task
### --- SparkContext中的三大组件:

~~~     DAGScheduler(class) 负责 Stage 的调度
~~~     TaskScheduler(trait,仅有一个实现 TaskSchedulerImpl) 负责 Task 的调度
~~~     SchedulerBackend 有多种实现,分别对应不同的资源管理器
~~~     # sparkcontext三大组件:

SchedulerBackend(org.apache.spark.scheduler)
CoarseGrainedSchedulerBackend(org.apache.spark.scheduler.cluster)
StandaloneSchedulerBackend(org.apache.spark.scheduler.cluster)
LocalSchedulerBackend(org.apache.spark.scheduler.local)
~~~     Spark 的任务调度可分为:Stage 级调度(高层调度)、Task级调度(底层调度)。
~~~     总体调度流程如下图所示:

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(14)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示