使用Operator State方式

使用 operator state的方式有以下几种:

方式一:

stateful function(RichFunction) 实现 CheckpointFunction 接口

必须实现两个方法:
Void snapshotState(FunctionSnapshotContext context)  throws Exception;

Checkpoint 执行时调用

Void initializeState(FunctionInitializationContext context) throws Exception;(初始化以及恢复逻辑)

Stateful function 第一次初始化时调用

Stateful function 从较早的 checkpoint恢复时调用

方式二:
stateful function(RichFunction) 实现 ListCheckpointed 接口,只用ListState 的重分配方式

必须实现两个方法

List<T> snapshotState(long checkpointId,long timestamp)  throws Exception;

Checkpoint 执行时调用

void restoreState(List<T> state) throws Exception;

Stateful function 从较早的 checkpoint 恢复时调用。

原文地址:https://www.cnblogs.com/ssqq5200936/p/13199815.html