首页 > 解决方案 > Apache Beam Fault Tolerance 如何在全局 Windows 上工作?

问题描述

我正在使用 Beam Python 构建管道。我有来自 PubSub 的带有 userId 和 buttonId 的事件流。我有一个全局窗口,用于维护所有用户单击按钮的次数。

如果一段时间后服务器重新启动运行 Direct Runner/Flink Runner,全局 windows 状态是否会恢复到管道中?

Beam 中的容错是如何工作的?

如何跟踪 PubSub 的偏移量/检查点?

Beam 文档指出:

状态的存储和容错:由于状态是每个键和窗口的,因此您希望同时处理的键和窗口越多,您将产生的存储就越多”。

但是,我找不到更多关于此的信息。

标签: apache-beam

解决方案


对于您问题的第一部分,beam 通过耗尽处理流服务中的异常,此处介绍了一些详细信息https://cloud.google.com/dataflow/docs/guides/stopping-a-pipeline

虽然不确定这是否回答了您关于偏移量/检查点的问题。


推荐阅读