然后我们再来看上一步我们理解了数据流的执行,生成过程,
然后我们再来看数据流的传输以及任务链,因为如果需要知道
两个任务到底是如何合并的,这里就需要知道数据流传输和任务链才行.
首先我们要知道
1.一个程序中,不同的任务可能有不同的并行度
2.算子也就是不同的任务之间数据传输的模式,可能有one to one的模式,也就是forward模式,也可以是redistributing模式,要知道这个redistributiing模式会导致stream分区的改变,也就一个任务可能会
分成多个任务.比如keyby这个算子,会基于hash值,进行重新数据的重新分区,也就是数据流向不同的slot.
这里的redistribute类似于算子会进行hash等操作,把数据分开,而one to one的操作,比如map ,filter, flatMap不会进行分开,所以是one to one的操作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。