1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Managed State & Raw State MS: Flink Runtime管理,已知数据结构,大多数情况均可使用 RS: 用户自定义,自己管理,字节数组,需要自定义时使用
MS分为两种,KeyedState,OperatorState KeyState Datastream经过keyBy的操作可以变为KeyedStream 每个Key对应一个State,即一个Operator实例处理多个Key,访问相应的多个State,并由此就衍生了KeyedState KeyedState只能用在KeyedStream的算子中,即在整个程序中没有keyBy的过程就没有办法使用KeyedState OperatorState 可以用于所有算子,相对于数据源有一个更好的匹配方式 常用于Source,例如FlinkKafkaConsumer 相比KeyedState,一个Operator实例对应一个State 随着并发的改变,KeyedState中,State随着Key在实例间迁移 OperatorState没有Key,并发改变时需要选择状态如何重新分配 均匀分配 所有State合并为全量State再分发给每个实例
|