4、2 核心组件

本文深入解析了Apache Spark的执行流程,详细介绍了Stage、Task、Job和Application的概念及其相互关系。阐述了ShuffleMapStage和ResultStage的区别,以及ShuffleMapTask和ResultTask的任务执行机制。同时,对SparkContext的作用进行了说明。

 

1、Stage:虚的
  一组RDD构成的链条 并行的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。

 5、SparkContext

spark上下文是spark程序的主入口点,表示到spark集群的连接。可以创建RDD、累加器和广播变量。
每个jvm只能有个active的上下文,如果要创建新的上下文,必须stop掉原来的。

 

转载于:https://www.cnblogs.com/lybpy/p/9769913.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值