本文主要是介绍Flink: 两个递归彻底搞懂operator chain,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
operator chain是指将满足一定条件的operator 链在一起,放在同一个task里面执行,是Flink任务优化的一种方式,在同一个task里面的operator的数据传输变成函数调用关系,这种方式减少数据传输过程。常见的chain例如:source->map->filter,这样的任务链可以chain在一起,那么其内部是如何决定是否能够chain在一起与chain一起之后如何执行就是本篇文章将要剖析的重点。
第一个递归:JobGraph生成
Flink中划分了四种图:StreamGraph、JobGraph、ExecutionGraph、物理执行图,前两种StreamGraph、JobGraph是在客户端生成,ExecutionGraph在jobMaster中生成,最后一种物理执行图是一种虚拟的图,不存在的数据结构,运行在每一个TaskExecutor中。我们在Flink Web UI中看到的就是JobGraph,如下:
这篇关于Flink: 两个递归彻底搞懂operator chain的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!