Task正式处理数据前,会创建OperatorChain。这个过程会为当前Task上所有的算子创建output。
output就是我们平时写Flink代码时用到的“output.collect(...)”代码。
算子链中只有1个算子
比如算子链中只有一个map算子。
以这样一个Flink任务为例说明算子链外的数据交换:Source(p=1)->map(p=2)->Sink(p=1)。每个算子都是独立的算子链。
首先会创建map算子的输出是mainOperatorOutput=RecordWriterOutput。