预定义(和大)窗口?任何流处理框架都支持这一点?



我看到的所有窗口示例都涉及定义窗口。 例如,翻滚的 1 分钟窗口或滑动 1 分钟窗口等。在我的情况下,我的所有数据都有时间戳事件,但这不是主要兴趣。

我的所有数据还有一个我无法控制的关联周期。就我而言,这是所需的窗口。这些时期是基于时间的,但它们大致从 2-3 周不等。

所以,如果我只看一个值流的周期可能看起来像这样(几乎所有来自当前时期的东西,一些来自当前时期早期的最后一个时期的落伍者),

... PERIOD 6, PERIOD 5, PERIOD 6, PERIOD 6, PERIOD 6, PERIOD 6, ...

我不清楚如何处理水印/触发器/等情况?如果我正确理解了所有这些术语,我会想到这样的事情:PERIOD N的水印发生在处理第一个带有PERIOD (N+1)的事件时。PERIOD N窗口的延迟范围(对于垃圾回收状态)可以是第一个事件的时间戳后 1-2 天,带有PERIOD (N+1)。我希望触发器accumulating并且每 5 分钟一次(理想情况下,我希望此触发器持续时间增加:在窗口开始时更频繁,随着时间的推移越来越少)。

我正在尝试使用本文中的术语,如果不正确,https://www.oreilly.com/ideas/the-world-beyond-batch-streaming-102 抱歉

我对水印似乎是连续的并且基于事件时间感到特别困惑。就我而言,我同时拥有事件时间(时间戳)和事件时间(时间段)。如果我理解正确,我的情况曲线(如上一篇文章所示)看起来像阶梯函数?

我还没有选择要使用的流处理框架。我的情况对他们中的任何一个有意义吗?这需要很多自定义逻辑吗?是否有任何框架使这更容易?这是名称的已知问题吗?

任何帮助,不胜感激。

在 Flink 中,实现此目的的一种方法是使用处理时间窗口进行聚合。然后,使用丰富的映射函数来维护窗口之前的累积计数。最后,您将聚合下沉到长期数据存储中

你可以看看我的博客文章,我们做了类似的事情。看看第A peek into Milestone Two

相关内容

  • 没有找到相关文章

最新更新