Application : 以SparkContext为基础的代码,1个SparkContext 对应一个Application,由一个Driver进程和多个Excutor进程组成。
Driver Program : 一个进程,运行构造SparkContext的main()方法
Cluster Manager : 管理资源的一个外部服务,比如Yarn、Mesos、k8s (--master)
Deploy mode : 决定Driver进程运行的位置。一、client模式,Driver运行在本地(运行./spark-submit的节点),默认为client模式;二、cluster模式(--deploy-mode),Yarn的话就运行在NodeManager中。选择哪种模式考虑网络延迟,Master和Worker在同一网络内适合Client模式,Master和Worker距离较远适合Cluster模式。
cluster on yarn client on yarnWorker Node : 执行代码的节点,这个词语对应于Standalone模式,在Yarn中位于NodeManager节点
Excutor : 一个进程,运行tasks和在内存或磁盘中保存数据。(Application之间的Exutor可以共享,使用外部存储系统【Alluxio】)
Task : 是spark最小的工作单元,由Driver发送到Excutor取执行。
Job :触发action就会产生Job
actionStage :遇到Shuffle时会把Job拆成一个tasks集合,没有shuffle时就是1个
窄依赖:一个RDD中的每个Partition只被子RDD的Partion使用一次
宽依赖:一个RDD中的每个Partion可被子RDD的多个Partion使用
算子:官网有常见20种Transformation(lazy)和12中Action , http://spark.apache.org/docs/1.6.2/programming-guide.html
网友评论