简介
- CheckpointedFunction是stateful transformation functions的核心接口,用于跨stream维护state
- snapshotState在checkpoint的时候会被调用,用于snapshot state,通常用于flush、commit、synchronize外部系统
- initializeState在parallel function初始化的时候(第一次初始化或者从前一次checkpoint recover的时候)被调用,通常用来初始化state,以及处理state recovery的逻辑
注意事项:initializeState先于open方法执行
案例
public class BufferingSink
implements SinkFunction<Tuple2<String, Integer>>,
CheckpointedFunction {
private final int threshold;
private transient ListState<Tuple2<String, Integer>> checkpointedState;
private List<Tuple2<String, Integer>> bufferedElements;
publi
本文介绍了Flink中实现状态管理的关键接口CheckpointedFunction,讲解了如何自定义带有状态的算子,包括snapshotState和initializeState的使用。同时,通过案例展示了如何使用Managed Operator State,包括even-split和union redistribution两种状态分配方式,并提供了带状态Source Function的实现注意事项。
订阅专栏 解锁全文
4099

被折叠的 条评论
为什么被折叠?



