Spark运行流程概述
- Application 指用户编写的Spark应用程序,其中包含了一个Driver功能的代码和分布在集群中多个节点上运行的Executor代码。
- Driver Spark中的Driver即运行上述Application的main()函数并创建SparkContext.创建的目的是为了初始化Spark的运行环境。SparkContext负责与ClusterManager通信,进行资源的申请、任务的分配和监控等。当Executor部分运行完毕后,Driver同时负责将SparkContext关闭,通常用SparkContext代表Driver.
- Executor 某个Application运行在Worker节点上的一个进程,该进程负责运行某些Task,并且负责将数据存在内存或者磁盘上。每个Application都有各自独立的一批Executor.在spark on Yarnm模式下,名为CoarseGrainedExecutor Backend进程有且只有一个executor,它负责将task包装秤taskRunner,并从线程池中抽取出一个空闲线程进行Task.这样 每个CoarseGrainedExecutro Backend能并行运行Task的数量就取决于分配给它的CPU的个数。
- Cluster Manager 在Hadoop yarn上主要是指ResourceManager
- Worker:集群中任何可以运行Application代码的节点,类似于Yarn中的NodeManager节点,在Standalone模式中指的是通过slave文件配置的Worker节点,在Spark on Yarn模式中指的是NodeManager节点。
- Task 是运行application的基本单位。多个Task组成一个stage,而Task的调度和管理等由下面的TaskScheduler负责。
- Job 包含多个Task组成的并行运算,往往由Spark Action触发产生,一个Application中可能会产生多个job.
- Stage 每个job会被划分为很多组Task,作为一个Taskset,名为stage.stage的划分和调度由DAGScheduler负责。Stage有非最终的stage(Shuffle Map stage)和最终的Stage(Result stage)两种。Stage的边界就是发生Shuffle的地方.
- 共享变量 广播变量和只支持加法操作,可以实现求和的累加变量。
- 宽依赖 成为ShuffleDependency,与Hadoop Mapreduce中Shuffle的数据依赖相同,宽依赖需要计算好所有父RDD对应分区的数据,然后在节点之间进行Shuffle。
- 窄依赖 称为NarrowDependency,指具体的RDD,其分区patition a 最多被子RDD中的一个分区patition b依赖。只有map任务,不需要发生Shuffle过程。
- DAGScheduler 提交Stage给TaskScheduler.
Spark运行流程概述的更多相关文章
- Spark运行模式概述
Spark编程模型的回顾 spark编程模型几大要素 RDD的五大特征 Application program的组成 运行流程概述 具体流程(以standalone模式为例) 任务调度 DAGSche ...
- Spark学习之路 (七)Spark 运行流程
一.Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext.由SparkContext负责与ClusterMan ...
- Spark学习之路 (七)Spark 运行流程[转]
Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext.由SparkContext负责与ClusterManag ...
- MapReduce的运行流程概述
MapReduce处理数据的大致流程 ①InputFormat调用RecordReader,从输入目录的文件中,读取一组数据,封装为keyin-valuein对象 ②将封装好的key-value,交给 ...
- Spark基本运行流程
不多说,直接上干货! Spark基本运行流程 Application program的组成 Job : 包含多个Task 组成的并行计算,跟Spark action对应. Stage : Job 的调 ...
- Spark运行原理【史上最详细】
https://blog.csdn.net/lovechendongxing/article/details/81746988 Spark应用程序以进程集合为单位在分布式集群上运行,通过driver程 ...
- 从ReentrantLock看AQS (AbstractQueuedSynchronizer) 运行流程
从ReentrantLock看AQS (AbstractQueuedSynchronizer) 运行流程 概述 本文将以ReentrantLock为例来讲解AbstractQueuedSynchron ...
- Spark的任务提交和执行流程概述
1.概述 为了更好地理解调度,我们先看一下集群模式的Spark程序运行架构图,如上所示: 2.Spark中的基本概念 1.Application:表示你的程序 2.Driver:表示main函数,创建 ...
- Spark架构角色及基本运行流程
1. 集群角色 Application:基于spark的用户程序,包含了一个Driver program 和集群中多个Executor Driver Program:运行application的mai ...
随机推荐
- POJ 1523 SPF(寻找关节点)
SPF Time Limit: 1000MS Memory ...
- js 获取地址栏参数
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
- python 核心编程第5章(习题)
1.标准类型运算符. 写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分成绩(A-F). #coding:utf8 a = raw_input() a = int(a) if (a > ...
- ed编辑器使用
evilxr@IdeaPad:/tmp$ ed aa.c 0 a enter another words hello nice www.evilxr.com . w aa.c 46 q a 表示添加内 ...
- UVA10305 拓扑序
题意:给出多个任务,以及一系列任务的关系表示某个任务必须在某个任务前完成,问一个合理的任务完成顺序 拓扑序的裸题,一开始用大白书的写法,后来发现并不好用,就换了BFS又A了一遍. 原: #includ ...
- IE 下加载jQuery
转:http://www.iitshare.com/ie8-not-use-native-json.html 解决在IE8中无法使用原生JSON的问题 起因 在项目中要将页面上的js对象传给后台, ...
- 利用mybatis_generator自动生成Dao、Model、Mapping相关文件
技术交流群:233513714 http://blog.csdn.net/wyc_cs/article/details/9023117 http://www.cnblogs.com/smileberr ...
- [poj 3261]Milk Patterns
后缀数组搞一下就可以了喵~ 其实这道题的第一个想法是 SAM ,建完后缀自动机后拓扑排序跑一遍统计下每个子串的出现次数就 O(N) 就妥妥过掉了 后缀树也是 O(N) 的,统计一下每个节点对应的子树中 ...
- java的nio之:java的nio系列教程之pipe
Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 这里是Pipe原理的图示:
- 查看jquery绑定的事件函数
作为技术狂热分子的职业本能,看到一个技术产品的功能,总会忍不住想知道它是怎么被实现的.比如我每每看到别人网站一个很炫的界面或者很酷的功能,就忍不住打开了浏览器的控制台... 好,不扯远,说说当你想看到 ...