“Spark运行架构”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“==Spark运行架构== Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务…”)
 
第1行: 第1行:
==Spark运行架构==
+
==基本概念==
Spark运行架构包括集群资源管理器(Cluster Manager)、运行作业任务的工作节点(Worker Node)、每个应用的任务控制节点(Driver)和每个工作节点上负责具体任务的执行进程(Executor)
 
  
资源管理器可以自带或Mesos或YARN
+
在具体讲解Spark运行架构之前,需要先了解几个重要的概念:
 
+
===RDD===
与Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:
+
* RDD:是弹性分布式数据集(Resilient Distributed Dataset)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型;
 
+
===DAG===
一是利用多线程来执行具体的任务,减少任务的启动开销
+
* DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系;
 
+
===Executor===
二是Executor中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备,有效减少IO开销
+
* Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行任务,并为应用程序存储数据;
 
+
===应用===
[[文件:bd3-20.png]]
+
* 应用:用户编写的Spark应用程序;
 
+
===任务===
==DAG==
+
* 任务:运行在Executor上的工作单元;
DAG 是一组顶点和边的组合。顶点代表了 RDD, 边代表了对 RDD 的一系列操作。
+
===作业===
 
+
* 作业:一个作业包含多个RDD及作用于相应RDD上的各种操作;
DAG Scheduler 会根据 RDD 的 transformation 动作,将 DAG 分为不同的 stage,每个 stage 中分为多个 task,这些 task 可以并行运行。
+
===阶段===
 +
* 阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。

2020年7月8日 (三) 08:03的版本

基本概念

在具体讲解Spark运行架构之前,需要先了解几个重要的概念:

RDD

  • RDD:是弹性分布式数据集(Resilient Distributed Dataset)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型;

DAG

  • DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系;

Executor

  • Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行任务,并为应用程序存储数据;

应用

  • 应用:用户编写的Spark应用程序;

任务

  • 任务:运行在Executor上的工作单元;

作业

  • 作业:一个作业包含多个RDD及作用于相应RDD上的各种操作;

阶段

  • 阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。