
-
Application:用户程序建立在Spark上。由群集上的驱动程序和执行程序组成
-
Application jar:包含用户的Spark应用程序的jar。在某些情况下,用户需要创建一个包含其应用程序及其依赖项的“uber jar”。用户的jar不应该包含Hadoop或Spark库,但是,这些将在运行时添加。
-
Driver program:运行应用程序的main()函数并创建SparkContext的进程
-
Cluster manager:用于获取群集资源的外部服务(例如Standalone,Mesos,YARN),在Standalone模式中即为Master(主节点),控制整个集群,监控Worker。在YARN模式中为资源管理器。
-
Worker node:从节点,负责控制计算节点,启动Executor。在YARN模式中为NodeManager,负责计算节点的控制。
-
Deploy mode:区分驱动程序进程的运行位置。在“cluster”模式下,框架在集群内部启动驱动程序。在“client”模式下,提交者在群集外部启动驱动程序。
-
SparkContext:Spark程序入口,控制应用的生命周期。
-
Executor:执行器,在worker node上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executors。
-
Task:一个Stage包含一到多个Task,通过多个Task实现并行运行的功能。
-
Job:甲并行计算由多个任务的是获取响应于Spark动作衍生(例如save,collect); 你会在驱动程序的日志中看到这个术语
-
Stage:每个作业被分成较小的任务组,称为阶段,彼此依赖(类似于MapReduce中的map和reduce阶段); 你会在驱动程序的日志中看到这个术语。
-
RDD:Spark的基本计算单元,一组RDD可形成执行的有向无环图RDD Graph。
-
DAG Scheduler:实现将Spark作业分解成一到多个Stage,每个Stage根据RDD的Partition个数决定Task的个数,然后生成相应的Task set放到TaskScheduler中。
-
TaskScheduler:将任务(Task)分发给Executor执行。(所以Executor执行的就是我们的代码)
-
Transformations:转换(Transformations) (如:map, filter, groupBy, join等),Transformations操作是Lazy的,也就是说从一个RDD转换生成另一个RDD的操作不是马上执行,Spark在遇到Transformations操作时只会记录需要这样的操作,并不会去执行,需要等到有Actions操作的时候才会真正启动计算过程进行计算。(后面的wc例子就会有很好的说明)
-
Actions:操作(Actions) (如:count, collect, save等),Actions操作会返回结果或把RDD数据写到存储系统中。Actions是触发Spark启动计算的动因。
网友评论