Spark的术语

来源:互联网 发布:计算机动画算法与技术 编辑:程序博客网 时间:2024/06/04 23:48

Spark运行模式

运行环境

模式

描述

Local

本地模式

常用于本地开发测试,本地还分为local单线程和local-cluster多线程;

Standalone

集群模式

典型的Mater/slave模式,不过也能看出Master是有单点故障的;Spark支持 ZooKeeper来实现HA

On yarn

集群模式

运行在yarn资源管理器框架之上,由yarn负责资源管理,Spark负责任务调度和计算

On mesos

集群模式

运行在mesos资源管理器框架之上,由mesos负责资源管理,Spark负责任务调度和计算

On cloud

集群模式

比如AWS的EC2,使用这个模式能很方便的访问Amazon的S3;

Spark支持多种分布式存储系统:HDFS和S3

1.6.2 Spark常用术语

术语

描述

Application

Spark的应用程序,包含一个Driver program和若干Executor

SparkContext

Spark应用程序的入口,负责调度各个运算资源,协调各个Worker Node上的Executor

Driver Program

运行Application的main()函数并且创建SparkContext

Executor

是为Application运行在Worker node上的一个进程,该进程负责运行Task,并且负责将数据存在内存或者磁盘上。

每个Application都会申请各自的Executor来处理任务

Cluster Manager

在集群上获取资源的外部服务

(例如:Standalone、Mesos、Yarn)

Worker Node

集群中任何可以运行Application代码的节点,运行一个或多个Executor进程

Task

运行在Executor上的工作单元

Job

SparkContext提交的具体Action操作,常和Action对应

Stage

每个Job会被拆分很多组task,每组任务被称为Stage,也称TaskSet

RDD

是Resilient distributed datasets的简称,中文为弹性分布式数据集;是Spark最核心的模块和类

DAGScheduler

根据Job构建基于Stage的DAG,并提交Stage给TaskScheduler

TaskScheduler

将Taskset提交给Worker node集群运行并返回结果

Transformations

是Spark API的一种类型,Transformation返回值还是一个RDD,

所有的Transformation采用的都是懒策略,如果只是将Transformation提交是不会执行计算的

Action

是Spark API的一种类型,Action返回值不是一个RDD,而是一个scala集合;计算只有在Action被提交的时候计算才被触