Flink Graph

本文介绍了Flink中从DataStreamAPI到物理执行图的过程,包括StreamGraph、JobGraph、ExecutionGraph等关键概念及其转换流程,详细解释了算子链接、中间结果集等优化措施。

Flink Graph

早期,Batch和Stream的图结构和优化方法有很大的区别,所以批处理使用OptimizedPlan来做Batch相关的优化,使用StreamGraph表达流计算的逻辑,最终都转换为JobGraph,实现了流批的统一。

流计算应用的Graph转换

  对于流计算应用来说,首先将DataStreamAPI的调用转换为Transformation,然后经过StreamGraph->JobGraph->ExecutionGraph3层转换(Flink内置的数据结构),最后经过Flink的调度执行,在Flink集群中启动计算任务,形成一个物理执行图,该图是物理执行的Task之间的拓扑关系,但是在Flink中没有对应的Graph数据结构,是运行时的概念。

  小结:

  Flink执行图分为四层:

    StreamGraph -> JobGraph -> ExecutionGraph -> Physical Graph

  其中Physical Graph在Flink中没有对应的Graph数据结构,是运行时的概念

批处理应用的Graph转换

  对于批处理应用而言,首先将DataSet API的调用转换为OptimizedPlan,然后转换为JobGraph。批处理和流计算在JobGraph上完成了统一。

 流图

  使用DataStream API开发的应用程序,首先被转换为Transformation,然后被映射为StreamGraph,该图与具体的执行无关,核心是表达计算过程的逻辑。

  StreamGraph核心对象

  StreamGraph由StreamNode和StreamEdge构成。

  StreamNode

  StreamNode是StreamGraph中的节点,从Transformation转换而来,可以简单理解为一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值