Application:web
Application是建立了SparkContext实例对象的spark用户,包含了Driver程序:shell
Spark-shell是一个应用程序,由于spark-shell在启动的时候建立了一个SparkContext对象,其名称为sc:多线程
Job:并发
和Spark的action相对应,每个action例如count、saveAsTextFile等都会对应一个job实例,该job实例包含多任务的并行计算。框架
Driver Program:函数
运行main函数而且建立SparkContext实例的程序oop
Cluster Manager:spa
集群资源的管理外部服务,在spark上如今有standalone、yarn、mesos等三种集群资源管理器,spark自带的standalone模式可以知足大部分的spark计算环境对集群资源管理的需求,基本上只有在集群中运行多套计算框架的时候才考虑yarn和mesos线程
Worker Node:orm
集群中能够运行应用代码的工做节点,至关于Hadoop的slave节点
Executor:
在一个Worker Node上为应用启动的工做进程,在进程中赋值任务的运行,而且负责将数据存放在内存或磁盘上,必须注意的是,每一个应用在一个Worker Node上只会有一个Executor,在Executor内部经过多线程的方式并发处理应用的任务。
Task:
被Driver送到Executor上的工做单元,一般状况下一个task会处理一个split的数据,每一个split通常就是一个Block块的大小:
State:
一个job会被拆分红不少任务,每一组任务被称为state,这个MapReduce的map和reduce任务很像,划分state的依据在于:state开始通常是因为读取外部数据或者shuffle数据、一个state的结束通常是因为发生shuffle(例如reduceByKey操做)或者整个job结束时,例如要把数据放到hdfs等存储系统上