聚合函数 + 窗口进程函数状态上的 Flink 检查点



我正在使用 aggregateFunction 在 10 分钟的时间窗口内依靠唯一对象。 我想为窗口功能启用检查点,以防万一如果作业出现故障,我们不会丢失任何累积状态。 我一直在阅读它,包括这篇文章(非常有帮助(。但我仍然不太明白我应该如何使用 ProcessWindowFunction 来保留一些状态变量,以便在我的作业关闭并重新启动时,我不会丢失任何累积的数据?

在您描述的情况下,您无需执行任何操作。所有需要检查点的状态都已经由 Flink 管理。

如果您需要存储结果,则可以使用另一篇文章中描述的全局状态,以便在处理以后的窗口时可以引用它们。但在您的情况下,听起来一个 10 分钟窗口的结果不依赖于早期窗口的结果。

如果你想亲身体验一下 Flink 的容错是如何工作的,这里有一个基于 docker 的游乐场,可以很容易地进行一些实验并直接观察会发生什么:参见 Flink Operations Playground。所涉及的应用程序执行窗口化,因此您应该发现它非常相关。

相关内容

  • 没有找到相关文章

最新更新