数学建模社区-数学中国
标题:
SparkCore:Spark原理初探(执行流程图)
[打印本页]
作者:
杨利霞
时间:
2020-4-24 18:08
标题:
SparkCore:Spark原理初探(执行流程图)
& E1 D' Y' E; q x
SparkCore:Spark原理初探(执行流程图)
/ V' e" U. y; C/ _0 s4 D$ Z
基本概念
+ o! B% w& \9 j& S
+ o, |, i$ X! J" C* }. y- |
2 K0 ^% l' q! b
2020-4-24 18:05 上传
下载附件
(148.16 KB)
$ y# v* `: K5 o8 r0 q
; r2 v. ]+ _$ b& J& Y( \# m; u1 L
2020-4-24 18:06 上传
下载附件
(114.94 KB)
9 w$ E' V- Y( `3 B" ^
+ `* y4 Q" [9 V' d
名词解释
7 v I; P7 M! q2 ]. w/ X
Application:指的是用户编写的Spark应用程序/代码,包含了Driver功能代码和分布在集群中多个节点上运行的Executor代码。
) B3 K1 j7 |7 o& Z' K! P
Driver:Spark中的Driver即运行上述Application的Main()函数并且创建SparkContext,SparkContext负责和ClusterManager通信,进行资源的申请、任务的分配和监控等
^% ^+ S9 Q( c- `) G' A/ \
Cluster Manager:指的是在集群上获取资源的外部服务,Standalone模式下由Master负责,Yarn模式下ResourceManager负责;
- W6 b) ~0 T1 Z- x/ c8 ^2 p
Executor:是运行在工作节点Worker上的进程,负责运行任务,并为应用程序存储数据,是执行分区计算任务的进程;
( G9 \' a" r0 ~% S
RDD:Resilient Distributed Dataset弹性分布式数据集,是分布式内存的一个抽象概念;
* `* }" p3 W0 U& Z. j
DAG:Directed Acyclic Graph有向无环图,反映RDD之间的依赖关系和执行流程;
. \. Q7 \7 }; v+ o4 f+ Q$ M k
Job:作业,按照DAG执行就是一个作业;Job==DAG
( E. Z" S$ k' N, B ?
Stage:阶段,是作业的基本调度单位,同一个Stage中的Task可以并行执行,多个Task组成TaskSet任务集
" X1 H; f" u4 B+ ^% R
Task:任务,运行在Executor上的工作单元,一个Task计算一个分区,包括pipline上的一系列操作
1 `! @5 R2 e+ n; B+ O
基本流程
7 O P5 B; O1 \# g2 _
8 l9 p o0 I2 L. P6 v, q" P
Spark运行基本流程
8 t) U" Q" N( m# N5 l# O7 T
当一个Spark应用被提交时,首先需要为这个Spark Application构建基本的运行环境,即由任务控制节点(Driver)创建一个SparkContext,
* B. J/ w, O9 z! [
SparkContext向资源管理器注册并申请运行Executor资源;
, O4 H+ X% y9 W) Y4 \. V& h t1 h9 o
资源管理器为Executor分配资源并启动Executor进程,Executor运行情况将随着心跳发送到资源管理器上;
4 W. E0 }4 x8 l' ~3 `
SparkContext根据RDD的依赖关系构建成DAG图,并提交给DAGScheduler进行解析划分成Stage,并把该Stage中的Task组成Taskset发送给TaskScheduler。
- ^3 f. _0 T8 Q$ {7 ?! p, e
TaskScheduler将Task发放给Executor运行,同时SparkContext将应用程序代码发放给Executor。
: K0 M$ c) O4 d' c5 P
Executor将Task丢入到线程池中执行,把执行结果反馈给任务调度器,然后反馈给DAG调度器,运行完毕后写入数据并释放所有资源。
7 H7 F c3 ]2 y! F1 Y2 A
流程图解
' X3 i) m: m' q/ d5 @6 d
0 u/ X' G( U; Y3 B! v; F
2020-4-24 18:06 上传
下载附件
(256.68 KB)
% D) Q- j% a _/ O! I( c8 P. O
0 u) V+ z+ l, ?5 w; Y: h/ S
2020-4-24 18:06 上传
下载附件
(310.42 KB)
. ]# z3 z, |0 I3 r
) l+ M4 s, `3 L
2020-4-24 18:06 上传
下载附件
(110.74 KB)
" f& b/ ^8 _; _4 |/ U' C
& k) c$ {2 m! {* k8 w J' y1 l
2020-4-24 18:06 上传
下载附件
(173.06 KB)
( q. c9 ]+ v6 y8 t# h! E
1 _( e$ k9 }# }4 B& [% H
2020-4-24 18:06 上传
下载附件
(357.18 KB)
. p2 _3 |" O$ n( p0 v
- u& H* c- s- `! D, z8 R* [
+ R3 J; i y6 \0 G$ r
5 x% N7 Z' f$ B7 P+ M6 z) H
总结
$ Y# J3 h/ ~" x2 A% {; j4 _7 D
5 G6 Q8 w" O7 c1 X
Spark应用被提交–>SparkContext向资源管理器注册并申请资源–>启动Executor
?) U3 n( h0 z7 l" f8 J% |$ T
RDD–>构建DAG–>DAGScheduler划分Stage形成TaskSet–>TaskScheduler提交Task–>Worker上的Executor执行Task
; d) \+ E: |+ P# F
# [+ i; u# [5 Z7 X( Q
————————————————
]; R6 Z% s" F" ~6 H
版权声明:本文为CSDN博主「真情流露哦呦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
: |$ Q! S r3 k9 P( H# H
原文链接:https://blog.csdn.net/weixin_43563705/article/details/105699268
# j j* q) m; l; S7 J+ v2 m
# U, w4 ~% ^- N# r# \
) K( H: S1 L2 z$ e
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5