在apache flink中保留流中的值

erhoui1w  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(312)

我正在尝试在流中进行一些验证,我正在检查无效的卡号,有人问我是否可以保留这些无效的卡号以备将来验证。
在ApacheFlink上实现这一点的最佳方法是什么。
谢谢

wbgh16ku

wbgh16ku1#

好的,如果你想重新启动作业并保留数据,那么我建议使用一个flink状态,这个状态是checkpointed。我不知道确切的用例,所以我无法判断您应该使用keyedstate还是operator状态。但基本上,我们的想法是将卡号或任何用于验证的内容保持在状态,然后用savepoint取消作业,无论何时您想再次启动它,都可以从给定的savepoint开始。这样你就不会有无效卡号的空列表。你可以在这里阅读更多关于州的信息:https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/state.html
至于在外部存储无效卡号的情况,例如,您可以将无效卡号输出到kafka或文件中。这样,您就可以在任何应用程序或组件中访问它们。您可以在此处找到更多关于侧边输出的信息:https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/side_output.html

相关问题