Apache Flink中的集中时间窗口



是否可以收集窗口的中心是特定的感兴趣事件?

想象一个事件流:

....e...........e...E........e......

特别是我对触发事件E及其周围环境感兴趣( - 几分钟):

....e..........|e...E....|....e......

使用Flink的窗口操作员(包括自定义TriggerEvictor实现)实现此逻辑是可能的,但在我看来是挑战。

我认为更好的方法是ProcessFunctionProcessFunction可以注册调用回调函数的计时器(处理时间或事件时间)。对于给定的用例,ProcessFunction将在托管状态中收集所有记录。收到触发事件时,会注册一个计时器,以等待更多事件到达,直到触发事件周围的窗口边界到期。此外,ProcessFunction需要定期删除所有元素到达为时过早而与触发事件相关联的元素。这也可以通过注册计时器来完成。

相关内容

  • 没有找到相关文章

最新更新