我是Flink的新手。我试图在我的应用程序中启用检查点和有状态。我从Flink文档中看到了如何存储键控状态。但我想知道我们是否可以存储非密钥状态(的状态ProcessFunction
)
需要非密钥状态有点不寻常,但是有包含示例的文档。
在用户代码中,通常只需要实现自定义源和接收器,这就是为什么这些示例着重于这些用例的原因。但是在a中,ProcessFunction
您将执行相同的操作,即实现CheckpointedFunction
接口(即initializeState
andsnapshotState
方法)。
非键状态的唯一类型是ListState
,UnionState
和BroadcastState
,并且ListState
可能是您要使用的类型。UnionState
与极为相似ListState
,它只是在重缩放过程中使用不同的策略来重新分配状态(每个并行实例获取整个列表,而不是被分配列表的一部分,而实例负责知道做什么)。BroadcastState
是BroadcastProcessFunction
或使用的KeyedBroadcastProcessFunction
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句