如何使用Apache Beam创建滚动窗口?不滑动或固定,而是滚动窗口



说我想在过去10分钟内计算某些度量的平均值,并在每分钟之后进行比较,并将其与过去20分钟内相同度量的平均值进行比较。我需要2个窗口(而不是10个滑动窗口,而不是20个滑动窗口)或2个固定持续时间的窗口,并带有早期启动。我需要2个窗户,应该每分钟(每分钟20分钟)向前滚动一分钟(持续时间10分钟)。另外,如果我可以丢弃除最新的滑动窗口以外的所有内容,那么我的问题就可以解决。否则多个滑动窗口非常昂贵。

您能在这里帮忙吗?自定义WindowFn()函数将非常有用

我必须更新我最终做的事情。我创建了一个全局窗口,允许的窗口为1小时,并永远反复触发每一分钟,并积聚了窗格。从这个全局窗口中,我在过去10分钟(当前Instant.Minus 10分钟)中对具有时间戳的元素应用了DOFN过滤,并在过去20分钟内(现在Instant.Minus 20分钟)进行了事件,以创建2个不同的PCollections。我这次施加了两次过滤 - 一旦到达全局窗口的触发输出,将其添加到PCollection 10分钟,20分钟,然后再次到集合本身,以删除所有不再是时间的部分期间。目前,这2个PCollection是滚动窗口,但我需要审核结果以确认是否确实有效。

相关内容

  • 没有找到相关文章

最新更新