为什么flink operator state在官方文档示例中与heap object一起使用
Why flink operator state is used together with heap object in official doc examples
在classBufferingSink
的例子中,checkpointedState
与bufferedElements
一起使用。
为什么不直接使用 checkpointedState
来缓冲新对象并在 invoke
函数中清除?
这只是一个插图或与性能相关的做法吗?
不建议使用state作为存储,checkpointedState只会在快照阶段写入statebackend
或许你可以先参考下面的link了解checkpoint的基本流程https://nightlies.apache.org/flink/flink-docs-master/docs/concepts/stateful-stream-processing/
我认为在这种情况下做出选择是出于性能原因。偶尔制作一个副本(在检查点期间)比为列表中的每个操作经历 ListState
对象的开销要便宜。
在classBufferingSink
的例子中,checkpointedState
与bufferedElements
一起使用。
为什么不直接使用 checkpointedState
来缓冲新对象并在 invoke
函数中清除?
这只是一个插图或与性能相关的做法吗?
不建议使用state作为存储,checkpointedState只会在快照阶段写入statebackend
或许你可以先参考下面的link了解checkpoint的基本流程https://nightlies.apache.org/flink/flink-docs-master/docs/concepts/stateful-stream-processing/
我认为在这种情况下做出选择是出于性能原因。偶尔制作一个副本(在检查点期间)比为列表中的每个操作经历 ListState
对象的开销要便宜。