前言
前面的 文章 我们介绍了 StreamGraph
的生成,这个实际上只对应 Flink 作业在逻辑上的执行计划图。Flink 会进一步对 StreamGraph
进行转换,得到另一个执行计划图,即 JobGraph
。
JobVertex
在 StreamGraph
中,每一个算子(Operator) 对应了图中的一个节点(StreamNode)。StreamGraph
会被进一步优化,将多个符合条件的节点串联(Chain) 在一起形成一个节点,从而减少数据在不同节点之间流动所产生的序列化、反序列化、网络传输的开销。多个算子被 chain 在一起的形成的节点在 JobGraph
中对应的就是 JobVertex
。
每个 JobVertex
中包含一个或多个 Operators
。 JobVertex
的主要成员变量包括
1 | /** The ID of the vertex. */ |