一,Spark专业术语的解析
1,Application基于Spark的用户程序,包含了driver程序和集群上的executor
2,Driver Program运行main函数并且新建SparkContext的程序
3,Cluster Manager在集群上获取资源的外部服务(例如standalone,Mesos,Yarn)
4,Worker Node是集群中任何可以运行用代码的节点
5,Executor是在一个worker node上为某应用启动的一个进程,该进程负责运行任务,并且负责将数据存在内存或者磁盘上。每个应用都有各自独立的executors
6,Task是被送到某个executor上的工作单元
7,Job包含很多任务的并行计算,可以看做和Spark的action对应
8,Stage一个Job会被拆分很多组任务,每组任务被称为Stage(就像Mapreduce分map任务和reduce任务一样)
二,Spark窄依赖和宽依赖的慨念
如上图表示方框表示RDD,实心矩形表示分区(partitions)
1,窄依赖表示的是子RDD的分区只是到父RDD的分区(一对一)
2,宽依赖表示的是子RDD的分区到父RDD的多个分区(多对多),就会产生shuffer操作