Flink的状态和状态后端
Flink是有状态的流处理
Flink的状态类型
Keyed State
和key相关的状态
- ValueState:单值状态,这个状态与对应的key绑定。可以通过update方法更新、value()方法获取。
- ListState:列表状态,与key对应值是一个列表。提供add、get操作。
- ReducingState:和reduceFunction相关的状态,需要reduceFunction提供默认值,支持自定义add方法,需要提供merge方法来合并两个状态。
- FoldingState:跟ReducingState有点类似,不过它的状态值类型可以与add方法中传入的元素类型不同(这种状态将会在Flink未来版本中被删除)。
- MapState:即状态值为一个map。用户通过put或putAll方法添加元素。
Operator State
算子任务中的状态