1.视界

2.前文回顾
AbstractStreamOperator
该抽象类为实现一个具体的operator提供基本的支持,Flink内置提供的operator全部都直接或间接继承自AbstractStreamOperator。
它内部包含了三大类的属性:
配置属性
运行时属性
键值对状态属性
大都数方法都是辅助方法,值得一提的是setup方法。从这里我们可以看到所有operator标识符的生成方式:
String operatorIdentifier = getClass().getSimpleName() + "_" + config.getVertexID() + "_" + runtimeContext.getIndexOfThisSubtask();
可以看到标识是由”_”间隔的三段拼接而成。三段分别是:类名,vertex id,以及当前subtask的索引。
然后基于此标识,创建了用于存储状态的stateBackend:
stateBackend = container.createStateBackend(operatorIdentifier, keySerializ