标签:code col 标记 row 任务 shuf action 保存 shuff
1、Stage:虚的 并行的task集合,同一Stage的所有任务有着相同的Shuffle依赖。 阶段的划分按照shuffle标记来进行的。 一个阶段含多个RDD,先有RDD后有Stage 一个阶段含多个task stage通过ShuffleDependency划分,一个stage都是NarrowDependency 阶段类型有两种,ShuffleMapStage和ResultStage。 - ShuffleMapStage 该阶段任务的结果是下一个阶段任务的输入。需要跟踪每个分区所在的节点。 任务执行期间的中间过程,保存task的输出数据供下一个reduce进行fetch。 该阶段可以单独提交。 - ResultStage 结果阶段直接执行rdd的action操作。 对一些分区应用计算函数(不一定需要在所有分区进行计算,比如说first(),take(3))。 2、Task:运行在一个节点上,实的 一个task包含一个RDD整个的变换的过程 从最后一个RDD的每个分区往前找他的依赖,就是它的任务;最后一个RDD的分区数就是该阶段的task数 是spark执行单位,有两种类型。 - ShuffelMapTask 在ShuffleMapStage由多个ShuffleMapTask组成。 - ResultTask ResultStage由多个ResultTask组成,结果任务直接task后,将结果回传给driver。 3、job 一个action就是一个job 4、Application 一个应用可含多个job。
标签:code col 标记 row 任务 shuf action 保存 shuff
原文地址:https://www.cnblogs.com/lybpy/p/9769913.html