假设我想要计算过去10分钟内每分钟后特定指标的平均值,并将其与过去20分钟内每分钟后相同指标的平均值进行比较。我需要2个窗口(不是10滑动窗口与20滑动窗口)或固定持续时间的2个窗口,提前点火。我需要2个窗口,这应该保持向前滚动一分钟(持续时间10分钟和20分钟)每分钟。或者,如果我可以丢弃除了最新的滑动窗口之外的所有窗口,我的问题就可以解决了。否则,多个滑动窗口是非常昂贵的。
你能帮个忙吗?一个自定义的WindowFn()函数将非常有用
发布于 2019-02-22 23:53:57
我必须更新我最终要做的事情。我创建了一个全局窗口,AllowedLateness为1小时,并且永远重复触发每一分钟,具有累积的窗格。在这个全局窗口中,我对最近10分钟内具有时间戳的元素(当前为Instant.minus 10分钟)和最近20分钟内的事件(当前为Instant.minus 20分钟)应用了DoFn过滤,以创建两个不同的PCollections。我将此时间过滤应用了两次-一次应用于全局窗口的触发器输出,以将其添加到PCollection中10分钟、20分钟,然后再次应用于集合本身,以删除所有不再是持续时间的一部分。目前,这两个PCollection用作滚动窗口,但我需要审核结果以确认这是否确实有效。
https://stackoverflow.com/questions/54792347
复制相似问题