flink事件时间会话窗口,最大总时间

xxe27gdn  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(457)

我想知道是否有可能创造一个 WindowAssigner 类似于:

EventTimeSessionWindows.withGap(Time.seconds(1L))

但我不希望窗口在每个元素的事件时间中保持增长。我希望在接收到的第一个元素(对于该键)处定义窗口的开头,并在1秒后正好结束,无论在那一秒中有多少个元素到达。
所以它可能看起来像这样假设:

EventTimeSessionWindows.withMax(Time.seconds(1L))

谢谢!

fdx2calv

fdx2calv1#

这个用例没有内置的窗口。
但是,您可以使用 GlobalWindow ,它收集所有传入元素,以及 Trigger 当接收到一个元素而窗口为空时,即第一个元素或清除窗口后的第一个元素时,注册一个计时器。窗口收集新元素,直到计时器启动。此时,将计算并清除窗口。

相关问题