基本概念

基本概念:(1):表示你的应用程序(2):表示main()函数,创建SparkContext。由SparkContext负责与ClusterManager通信,进行资源的申请,任务的分配和监控等。程序执行完毕后关闭SparkContext(3):某个Application运行在Worker节点上的一个进程,该进程负责运行某些task,并且负责将数据存在内存或者磁盘上。在Spark on Yarn模式下,其进程名称为 CoarseGrainedExecutor Backend,一个CoarseGrainedExecutor Backend进程有且仅有一个executor对象,它负责将Task包装成taskRunner,并从线程池中抽取出一个空闲线程运行Task,这样,每个CoarseGrainedExecutorBackend能并行运行Task的数据就取决于分配给它的CPU的个数。(4):集群中可以运行Application代码的节点。在Standalone模式中指的是通过slave文件配置的worker节点,在Spark on Yarn模式中指的就是NodeManager节点。(5):在Executor进程中执行任务的工作单元,多个Task组成一个Stage(6):包含多个Task组成的并行计算,是由Action行为触发的
(7)(TaskSet):每个Job会被拆分很多组Task,作为一个TaskSet,其名称为Stage
(8) 根据Job构建基于Stage的DAG,并提交Stage给TaskScheduler,其划分Stage的依据是RDD之间的依 赖关系 Job=多个stage,Stage=多个同种task, Task分为ShuffleMapTask和ResultTask,Dependency分为 ShuffleDependency和NarrowDependency 面向stage的切分,切分依据为宽依赖维护waiting jobs和active jobs,维护waiting stages、active stages和failed stages,以及与jobs的映射关系(9):将TaskSet提交给Worker(集群)运行,每个Executor运行什么Task就是在此处分配的。 维护task和executor对应关系,executor和物理资源对应关系,在排队的task和正在跑的task。 内部维护一个任务队列,根据FIFO或Fair策略,调度任务。(10)粗粒度的ExecutorBackend进程。 CoarseGrainedExecutorBackend和Executor是一一对应的。(11)
:#### executor和task关系:

executor和task关系如下图:


基本概念 - 图1抽象概念
Rdd
RDD(Resilient Distributed Dataset)是其最基本的抽象数据集,其中每个RDD是由若干个Partition组成。在Job运行期间,参与运算的Partition数据分布在多台机器的内存当中。这里可将RDD看成一个非常大的数组,其中Partition是数组中的每个元素,并且这些元素分布在多台机器中。图一中,RDD1包含了5个Partition,RDD2包含了3个Partition,这些Partition分布在4个节点中。基本概念 - 图2Partition

基本概念 - 图3
# Spark分区方式详解 https://blog.csdn.net/weixin_43840403/article/details/94361577
# Spark任务提交方式和执行流程 https://www.cnblogs.com/frankdeng/p/9301485.html# Spark Scheduler模块之DAGScheduler流程 https://www.cnblogs.com/yy3b2007com/p/11094617.html# Spark:在Spark集群中,集群的节点个数、RDD分区个数、cpu内核个数三者与并行度的关系?? https://blog.csdn.net/weixin_38750084/article/details/83021819
# Spark中的宽依赖和窄依赖 https://blog.csdn.net/yu0_zhang0/article/details/80437111# spark分区数,task数目,core数,worker节点个数,excutor数量梳理 https://blog.csdn.net/laughing1997/article/details/83148449
# 解析Spark Executor内幕,详解CoarseGrainedExecutorBackend https://blog.csdn.net/chic_data/article/details/77317730
# https://blog.csdn.net/u013013024/article/details/72876427