我们正在尝试在流媒体设置中涵盖以下场景:
我将讨论我们正在考虑的三个选项,其中前两个选项容易造成数据丢失,最后一个选项不清楚。我们想对这最后一个有更多的了解。当然也欢迎使用其他方法。
谢谢!
更新数据存储将意味着:
数据存储条目包含一个等于滑动窗口时间戳的幂等ID
问题:
Windows可以同时启动,因此可以无序处理,从而导致数据丢失(由Google确认)
更新数据存储将意味着:
true
,如果是,我们跳过以下步骤]true
)因此,重新执行将跳过重复的更新
问题:
5到7之间的故障将不会写入本地状态,从而导致重新执行并可能对元素计数两次。我们可以通过使用多个状态来规避这一点,但是我们仍然可以删除数据。
基于文章Timely (and Stateful) Processing with Apache Beam,我们将创建:
刷新将与方法1相同
问题:
仅一次处理和状态的保证尚不清楚。如果在状态中写入了一个元素,并且束将被重新执行,将会发生什么?状态是否已还原到该捆绑包之前?
非常感谢在这方面与文档的任何链接。例如。容错如何与计时器一起使用?
我们正在尝试在流式传输环境中涵盖以下场景:自作业开始以来计算用户事件的总计(比方说计数)用户事件的数量是不受限制的(...
根据您的方法1和方法2,目前尚不清楚无序合并是引起关注还是数据丢失。我可以想到以下内容。