Advertisement

【Spark】 Spark核心概念、名词解释(五)

阅读量:

Spark核心概念

名词解释
1)ClusterManager :在Standalone(上述安装的模式,也就是依托于spark集群本身)模式中即为Master(主节点),控制整个集群,监控Worker。在YARN模式中为资源管理器ResourceManager(国内spark主要基于yarn集群运行,欧美主要基于mesos来运行)。
2)Application :Spark的应用程序,包含一个Driver program和若干Executor。
3)SparkConf :负责存储配置信息。作用相当于hadoop中的Configuration。
4)SparkContext :Spark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor。
5)Worker :从节点,负责控制计算节点,启动Executor。在YARN模式中为NodeManager,负责计算节点的控制,启动的进程叫Container。
6)Driver :运行Application的main()函数并创建SparkContext(是spark中最重要的一个概念,是spark编程的入口,作用相当于mr中的Job)。
7)Executor :执行器,在worker node上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executors。
8)RDD :Spark的基本计算单元,一组RDD可形成执行的有向无环图RDD Graph。
9)RDD 是弹性式分布式数据集,理解从3个方面去说:弹性、数据集、分布式。是Spark的第一代的编程模型。
10)DAGScheduler :实现将Spark作业分解成一到多个Stage,每个Stage根据RDD的Partition个数决定Task的个数,然后生成相应的Taskset放到TaskScheduler中。DAGScheduler就是Spark的大脑,中枢神经。
11)TaskScheduler :将任务(Task)分发给Executor执行。
12)Stage :一个Spark作业一般包含一到多个Stage。
13)Task :一个Stage包含一到多个Task,通过多个Task实现并行运行的功能。task的个数由rdd的partition分区决定,spark是一个分布式计算程序,所以一个大的计算任务,就会被拆分成多个小的部分,同时进行计算。一个partition对应一个task任务。
14)Transformations :转换(Transformations) (如:map, filter, groupBy, join等),Transformations操作是Lazy的,也就是说从一个RDD转换生成另一个RDD的操作不是马上执行,Spark在遇到Transformations操作时只会记录需要这样的操作,并不会去执行,需要等到有Actions操作的时候才会真正启动计算过程进行计算。
15)Actions :操作/行动(Actions)算子 (如:count, collect, foreach等),Actions操作会返回结果或把RDD数据写到存储系统中。Actions是触发Spark启动计算的动因。
Spark官网组件说明
官网组件说明如图-1所示:

在这里插入图片描述

图-1 Spark组件通信架构图

Spark应用程序作为独立进程集在集群上运行,由主程序中的SparkContext对象进行协调。
具体来说,用户需要将SparkContext连接到多种类型的集群管理器(包括 spark自行的独立集群管理器、mesos或yarn)。这些管理器可为多个应用程序分配资源。
用户可以通过调用sparkContext.connect()方法来连接到这些管理器。
管理器会负责接收并处理用户的任务。
Spark会获取节点上的所有执行者,这些执行者是专门负责接收并处理用户的任务。
然后,spark会将程序代码发送给相应的执行者进行处理。
最后,spark会将任务分配给相应的执行者进行处理。

全部评论 (0)

还没有任何评论哟~