Spark 基本概念
来源:互联网 发布:协方差矩阵 对角线 编辑:程序博客网 时间:2024/05/09 12:47
以下内容主要参考自《大数据Spark企业实战》一书(作者:王家林)
1、Application:用户编写的Spark程序,包含Driver和Executor代码。
2、Driver:运行main函数并且创建和关闭SparkContext的程序。
3、Executor:运行在Worker节点上的一个进程,该进程负责运行某些Task,并且负责将数据存放在内存或磁盘中。在Spark On Yarn模式下,其进程名称为CoarseGrainedExecutorBackend。一个CoarseGrainedExecutorBackend进程有且只有一个executor对象,它持有一个线程池,每个线程可以执行一个Task。
4、Cluster Manager:指的是在集群上获取资源的外部服务,目前有三种:
1) Standalone:Spark原生的资源管理器,由Master负责资源分配。
2) Apache Mesos:与Hadoop MapReduce兼容性良好的一种资源调度框架。
3) Hadoop Yarn:主要指Yarn中的ResourceManager。
5、Worker:集群中任何可以运行Application代码的节点。在Standalone模式中指的是通过slave文件配置的Worker节点,在Spark On Yarn模式中指的是NodeManager节点。
6、Task:被送到某个Executor上的工作单元,是运行Application的基本单位,多个Task组成一个Stage,而Task的调度和管理由TaskSchedule负责。
7、Job:包含多个Task组成的并行计算,往往由Spark Action触发产生。一个Application中可能会产生多个Job
8、Stage:每个Job会被拆分成很多组TaskSet,每个TaskSet中有很多Task。TaskSet的名称就是Stage。Stage的划分和调度由DAGScheduler负责。Stage有非最终的Stage(即Shuffle Map Stage)和最终的Stage(即Result Stage)两种。Stage的边界一般就是发生Shuffle的地方。
9、RDD:弹性分布式数据集,它是已被分区、被序列化、不可变的、有容错性的,并且能够被并行操作的数据集,是Spark最基本的计算单元,也是最核心的东西。RDD可以通过一系列算子进行操作,主要有Transformation和Action操作。
10、共享变量:在Spark Application运行时,可能需要一些变量,提供给Task或Driver使用。Spark提供了两种共享变量,一种是可以缓存到各个节点的广播变量,另一种是只支持加法操作,实现求和的累加变量。
11、宽依赖:一个子RDD的分区依赖于父RDD的所有分区。
12、窄依赖:一个父RDD的分区最多只被一个子RDD的分区所引用。
13、DAGScheduler:DAGScheduler接收用户提交的job,并将job划分为不同的Stage(划分Stage的依据是RDD之间的依赖关系),并在每一个Stage上产生一系列Task,将Stage提交给TaskScheduler。
14、TaskScheduler:将TaskSet(Stage)提交给Worker集群运行,每个Executor运行什么Task就在此处分配的。TaskScheduler负责具体启动任务、监控和汇报task运行情况。TaskScheduler是一个trait,它的实现主要用于与DAGScheduler交互,负责任务的具体调度和运行,其核心接口是submitTasks和cancelTasks。
16、SchedulerBacked:SchedulerBacked也是一个trait.它的实现与底层资源调度系统(如Mesos,Yarn)进行交互,配合TaskScheduler实现具体任务执行所需的资源分配。核心接口是receiveOffers
- Spark 基本概念
- Spark基本概念
- Spark基本概念
- spark基本概念
- spark基本概念
- Spark基本概念
- spark基本概念
- spark基本概念
- 【Spark】Spark基本概念
- 【Spark】Spark基本概念
- 【Spark笔记】基本概念
- Spark基本概念简介
- SPARK中的基本概念
- 【Spark系列】一、基本概念
- Spark-基本概念和简介
- 初识Spark之 基本概念
- Spark Streaming基本概念
- spark学习--基本概念描述
- iOS Run loop使用实例(★好文章firecat推荐★)
- stm8中断的学习
- 使用phpqrcode生成二维码
- SharePoint缓存配置
- MapReduce之计数器
- Spark 基本概念
- Step into MongoDB - 12 - 主从复制
- 我要的
- CocoaPods详解之----进阶篇
- spark streaming 调试技巧
- Unity3D的MonoBehaviour可重写函数
- 面试
- C#中static void Main(string[ ] args)中的作用及解释
- Wake On WAN / Internet上唤醒你的局域网电脑