Spark源码分析——Spark架构


常用术语

术语 描述
Application 用户编写的程序。(Driver端的SparkContext、SparkConf和运行在Executors上用户编写的业务逻辑代码即map、reduce、reduceByKey等)
Driver 执行用户编写应用程序的main()方法并创建SparkContext
Worker 具体运行应用程序的节点
Executor 运行Worker节点上的进程,用来执行具体的Task
Task 被送到Executor上执行的工作单位,Task有ShuffleMapTask和ResultTask
Job 包含很多Task的并行计算,可以理解为Spark RDD里面的action,每一个action会生成一个Job
Stage 每组Job都会被划分成若干个Stage
Cluster Manager 集群的资源管理器,在集群上获取资源的外部服务,例如Standalone、Mesos、Yarn
Partition 类似于Hadoop的Split,计算是以partition为单位进行的

Spark架构图–Standalone提交模式

Spark源码分析——Spark整体架构

整个Spark应用程序的执行就是stage分批次作为TaskSet提交到executor上执行,每个Task针对RDD的一个partition,执行我们定义的算子和函数。直到所有操作执行完为止。

相关文章: