当前位置:   article > 正文

Spark内核架构剖析_spark sql内核剖析 下载

spark sql内核剖析 下载

 

1(图中流程标号):当我们在strandalone模式下提交我们的spark应用时,会创建和构造一个DriverActor进程出来,这个进程会执行我们的Application应用程序。。。

2写过spark应用程序的都知道,第一步需要构造SparkConf然后创建一个SC(SparkContext),重点来了,SparkContext在初始化的时候最重要的是干两件事:就是构造DAGScheduler和TaskScheDuler。

3:然后,TaskScheduler会负责,通过他的一个后台进程,去连接Master,向Master注册Application.

4:Master接收到TaskScheduler的注册请求后,会使用自己的资源调度算法,在Spark集群的Worker上为Application申请多个Executor,并且通知Worker启动相应的Executor。(实际中有许多的Worker和Executor,这里只用一个来画图展示)

5:Worker会为Application启动相应的Executor。

6:Executor启动后会把自己反向注册到Taskscheduler上面去,至此SparkContext的初始化结束,Driver继续执行我们的程序。

7:每当执行到一个action操作(例如:foreach...)的时候,就会创建一个job,并将job提交给DAGSheduler,DAGScheduler会将job划分为多个stage(按照宽依赖进行划分),然后每个stage创建一个TaskSet,并将TaskSet交给TaskSheduler。

8:TaskSheduler会将每一个TaskSet中的每一个task提交到executor上执行(task分配算法)。

9:Executor每接收到一个task,就会用TaskRunner来封装task,然后丢入线程池进行执行。

总结:spark应用程序的执行,就是stage分批次的作为task提交到executor执行,每一个task针对RDD的partition,执行我们的算子和函数,以此类推,直到所有的操作执行完为止。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/772294
推荐阅读
相关标签
  

闽ICP备14008679号