spark中 stage,taskset如何理解? stage与rdd有没有关系

yanglei

赞同来自: wangjc

给你普及下spark最基础的概念吧:            (1) SparkContext:Spark 应用程序的入口,负责调度各个运算资源,协调各个Worker Node 上的Executor。   (2) Driver Program:运行Application的main()函数并且创建SparkContext。   (3) RDD:弹性分布式数据集。RDD是Spark的核心数据结构,可以通过一系列算子进行操作。当RDD遇到Action算子时,将之前的所有算子形成一个有向无环图(DAG)。再在Spark中转化为Job(Job的概念在后面讲述),提交到集群执行。一个App中可以包含多个Job。   (4) Worker Node:集群中任何可以运行Application代码的节点,运行一个或多个Executor进程。   (5) Executor:为Application运行在Worker node上的一个进程,该进程负责运行Task,并且负责将数据存在内存或者磁盘上。每个Application都会申请各自的Executor来处理任务。 ============================================================================================ 以下基本概念是spark应用在执行过程中涉及的概念:          (1) Task(任务):RDD中的一个分区对应一个Task,Task是单个分区上最小的处理流程单元。   (2) TaskSet(任务集): 一组关联的,但相互之间没有Shuffle依赖关系的Task集合。   (3) Stage(调度阶段):一个TaskSet所对应的调度阶段。每个Job会根据RDD的宽依赖关系被切分很多Stage,每个Stage中包含一个TaskSet。   (4) Job(作业): 由Action算子触发生成的一个或多个Stage组成的计算作业。   (5) Application:用户编写的Spark的应用程序,由一个或多个Job组成。提交到Spark之后,Spark为Application分配资源,将程序转换并执行。   (6) DAGScheduler:根据Job构建基于Stage的DAG,并提交Stage给TaskScheduler。   (7) TaskScheduler:将Taskset提交给Worker node集群运行并返回结果。

Eric_Jiang - 我是小象的搬运工!!!

赞同来自:

再看下陈超老师的直播课

yanglei

赞同来自:

建议认真学习下陈超老师的视频。

要回复问题请先登录注册