天天看点

95-136-041-源码-Operator-AbstractStreamOperator1.视界2.前文回顾

1.视界

95-136-041-源码-Operator-AbstractStreamOperator1.视界2.前文回顾

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
           

继续阅读