Flink 采用了一种称为任务链的优化技术,可以在特定条件下减少本地通信的开销。为了满足任务链的要求,必须将两个或多个算子设为相同的并行度,并通过本地转发(local forward)的方式进行连接,相同并行度的 one-to-one 操作,Flink 这样相连的算子链接在一起形成 一个task,原来的算子成为里面的 subtask,同而共享相同的slot。
任务链的手动配置
①全部不合成任务链
env.disableOperatorChaining()
②单个算子不参与合成任务链
.disableChaining()
③从单个算子开启一个新的任务链
.startNewChain()