ITPub博客

首页 > 应用开发 > Java > spark中的一些看法

spark中的一些看法

Java 作者:爆seed 时间:2016-06-23 10:32:31 0 删除 编辑

Aplication

Application和Hadoop MapReduce中的类似,指用户编写的Spark应用程序。包含了一个driver program和集群中多个executor。

Driver

运行Application的main()函数并创建SparkContext。创建SparkContext是为了准备Spark应用程序的运行环境,SparkContext负责与Cluster Manager通信,进行资源的申请、任务的分配和监控等。当application运行完成后,Driver负责将SparkContext关闭。通常SparkContext代表Driver。

Executor

某Application运行在worker上的一个进程,该进程负责运行某些Task,并且负责将数据存在内存或者磁盘上。一个Application拥有着一批各自独立的Executor。在Spark on Yarn模式下,其进程名称为CoarseGrainedExecutor Backend,类似于Hadoop MapReduce中的YarnChild。一个CoarseGrainedExecutor Backend进程有且只有一个executor对象,它负责将Task包装成taskRunner,并从线程池中抽取出一个空闲线程运行Task。这样每个CoarseGrainedExecutor Backend弄并行运行Task的数量就取决于分配给他的cpu个数了。

Cluster Manager

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

  • Standalone : Spark原生的资源管理。由master负责资源的分配
  • Apache Mesos : 与Apache MapReduce兼容较好的资源调度
  • Hadoop Yarn : Yarn中的ResourceManager

Worker

集群中任何可以运行Application代码的节点,类似与Yarn中NodeManager节点。在Standalone模式中,指的是在slaves中配置的节点;在Spark on Yarn模式中指的是NodeManger节点。

Task

被送到某个Execuotr上的工作单元,与Hadoop MapReduce中的MapTask和ReduceTask概念一样,是运行application的基本单元。多个task组成一个stage,task的调度和管理由TaskScheduler负责

Job

由多个task组成的并行计算,往往由action操作触发。一个application运行时,可能会产生多个job。

Stage

每个job会分成很多组task,作为一个TaskSet,就叫做Stage。Stage的划分和调度由下面的DAGScheduler负责。Stage有非最终的Stage(shuffle map stage)和最终的Stage(result stage)两种。Stage的边界就在shuffle的地方。

RDD

Resilient Distributed Datasets,弹性分布式数据集。Spark的基本计算单元,可以通过一系列算子进行操作(transfermation和action)。RDD是Spark的核心,它表示已被分区的、被序列化的、不可变的、有容错机制的,并且可以并行操作的数据集合。存储级别可以是内存或磁盘,在spark.storage.StroageLevel属性配置。

共享变量

Spark提供两种共享变量

  • 广播变量:可缓存到各个节点
  • 累加变量:只支持加法运算

宽依赖

也叫ShuffleDependency,指多个子RDD的分片会依赖同一个父RDD分片或者说同一个父RDD的分片都有多个子RDD的分片使用。宽依赖需要计算好所有父RDD对应分区的数据,然后在节点节点之间进行shuffle。

窄依赖

也叫narrow dependency,指某个具体的RDD其分区partition a最多被子RDD中的一个分区parttition b依赖。

DAGScheduler

根据job构建基于stage的DAG,java培训并提交stage给taskScheduler。其划分stage的依据是RDD的依赖关系。

TashScheduler

将task提交给worker运行。Executor运行的任务就是在此时进行分配的。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29917475/viewspace-2120795/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: Spring+JPA入门
请登录后发表评论 登录
全部评论

注册时间:2014-09-26

  • 博文量
    28
  • 访问量
    34440