首页 理论教育 DAG逻辑视图简介

DAG逻辑视图简介

时间:2023-06-29 理论教育 版权反馈
【摘要】:本节主要通过一个简单计数案例,从中讲解DAG具体生成的流程和关系。在程序正式运行前,Spark的DAG调度器会将整个流程设定为一个Stage,此Stage包含3个操作和4个RDD,分别为MapPartitionRDD、MapPartitionRDD、MapPartitionRDD、MapPartitionRDD和ShuffleRDD。2)继续向前回溯,MapPartitionRDD与MapParti-tionRDD中间不存在Shuffle操作,归为同一个Stage。4)回溯完成,形成DAG,由两个Stage构成。·第二个Stage由ShuffleRDD构成,如图2-5所示。图2-4 Stage0的构成图2-5 Stage1的构成

DAG逻辑视图简介

本节主要通过一个简单计数案例,从中讲解DAG具体生成的流程和关系。示例代码如下。

978-7-111-55442-4-Chapter02-13.jpg

在程序正式运行前,Spark的DAG调度器会将整个流程设定为一个Stage,此Stage包含3个操作和4个RDD,分别为MapPartitionRDD(读取文件数据时)、MapPartitionRDD(flat-Map操作)、MapPartitionRDD(map操作)、MapPartitionRDD(reduceByKey的local段的操作)和ShuffleRDD(reduceByKeyshuffle操作)。

1)回溯整个流程,在shuffleRDD与MapPartitionRDD(reduceByKey的local段的操作)中存在Shuffle操作,整个RDD先在此切开,形成两个Stage。

2)继续向前回溯,MapPartitionRDD(reduceByKey的local段的操作)与MapParti-tionRDD(map操作)中间不存在Shuffle操作(即两个RDD的依赖关系为窄依赖),归为同一个Stage。

3)继续回溯,发现之前的所有RDD之间都不存在Shuffle,应归为同一个stage。

4)回溯完成,形成DAG,由两个Stage构成。(www.xing528.com)

·第一个Stage由MapPartitionRDD(读取文件数据时)、MapPartitionRDD(flatMap操作)、MapPartitionRDD(map操作)和MapPartitionRDD(reduceByKey的local段的操作构成,如图2-4所示。

·第二个Stage由ShuffleRDD(reduceByKey shuffle操作)构成,如图2-5所示。

978-7-111-55442-4-Chapter02-14.jpg

图2-4 Stage0的构成

978-7-111-55442-4-Chapter02-15.jpg

图2-5 Stage1的构成

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈