MergeDistributeShufflePass

1. 功能介绍

在plan中, 连续的两个TASK中后者具有SHUFFLE节点, 并且第二个TASK中的SHUFFLE节点类型为SEQUENCE, 并且没有指定partitioner, 那么就可以考虑将给SHUFFLE节点完整的移动到第一个TASK中去。 MergeDistributeShufflePass的作用就是找到这样的TASK, 并且完成移动。

3. 图示说明

plan图(运行前)

../../_images/merge_distribute_shuffle_pass_0.png

上图中, 节点task2具有一个EXTERNAL节点, 其中包含两个SHUFFLE节点, 并且节点类型为SEQUENCE, 并且没有 指定partitioner, 那么就可以将整个EXTERNAL节点上移到task1中去, 并且删除task2。

plan图(运行后)

../../_images/merge_distribute_shuffle_pass_1.png

对plan应用了MergeDistributeShufflePass之后, 原先在task2中的EXTERNAL节点被整体移动到task1中去, 并且 task2被删除。

返回