我想知道是否可以创建类似于以下内容的WindowAssigner
:
EventTimeSessionWindows.withGap(Time.seconds(1L))
除非我不希望窗口在每个元素的事件时间内保持增长。我希望窗口的开始在收到的第一个元素(对于该键)中定义,并且在1秒后结束,无论在那一秒内有多少元素到达。
所以它可能看起来像假设:
EventTimeSessionWindows.withMax(Time.seconds(1L))
谢谢!
答案 0 :(得分:1)
此用例没有内置窗口。
但是,您可以使用GlobalWindow
来实现此功能,该Trigger
收集所有传入元素,以及{{3}}在收到元素且窗口为空时注册计时器,即第一个元素或窗口被清除后的第一个元素。窗口收集新元素,直到计时器触发。此时,窗口将被评估并清除。