栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark任务运行常用概念及之间的关系

Spark任务运行常用概念及之间的关系

一,关系简图

二,描述

application --> job -->stage -->task 都是一对多关系。

2.1,Application

一个SparkContext就是一个application,通过spark-submit脚本提交给集群。

2.2,DAG

RDD依赖组成的有向无环图,来表明一个Application中RDD的依赖关系。

2.3,Job

1,没有检查点的正常情况下一个行动算子触发一个Job。
2,如果行动算子的依赖链中有检查点(checkpoint),则至少有一个额外的Job来专门执行检查点功能。如果有多个checkpoint,需要根据下面参数来确定checkpoint Job的数量:

spark.checkpoint.checkpointAllMarkedAncestors

如果值为true,则所有检查点都会执行,父RDD的checkpoint Job先执行。
否则只执行最靠后的RDD的checkpoint Job任务。
3,主线程是串行阻塞式提交Job的,一个行动操作Job执行完毕后执行其依赖链中的checkpoint Job;然后执行下一个行动操作Job及其checkpoint Job。

2.4 Stage

1,stage分为两类:ShuffleMapStage和ResultStage
2,Spark根据ShuffleDependency来划分Stage,一个ShuffleDependency依赖关系的父RDD为前一个Stage的结束,子RDD(都是ShuffledRDD)下一个stage的开始。一个ShuffleDependency一个ShuffleMapStage,另外还会有一个ResultStage。
3,一个Job stage的总数=零个或者多个ShuffleMapStage+一个ResultStage。
4,stage之间有依赖关系,按照依赖关系的顺序串行执行。

2.5 Task

1,Task分为两类:ShfflueMapTask和ResultTask。
2,每个ShuffleMapStage都有一个或者多个ShfflueMapTask,数量为ShuffleMapStage中最后一个RDD的分区数量;
3,每个ResultStage都有一个或者多个ResultStage,数量为ShuffleMapStage中最后一个RDD的分区数量。
4,同一个stage的task之间并行执行,不同stage的task遵循stage的顺序。
5,只有Task才会发送到spark Excutor中执行,涉及到数据计算。其它的概念都只存在于ApplicationMaster中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673493.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号