我试图找出如何实现以下具有事件流的逻辑:
- 第一个事件出现在给定的时间窗口(30 秒)
- 与第一个事件相关的第二个事件(通过某些属性)没有出现在给定的时间窗口中
- 生成新的错误事件
目前我实现了非常简单的“相反”实现:
stream.begin('first').where({conditions}).next('second').where({conditions}).within(Time.seconds(30))
我试图找出如何实现以下具有事件流的逻辑:
目前我实现了非常简单的“相反”实现:
stream.begin('first').where({conditions}).next('second').where({conditions}).within(Time.seconds(30))
PatternTimeoutFunction
当在时间窗口中未收到事件时,可以使用它来生成新事件。有关此类函数以及如何在此处使用它的更多信息:https ://ci.apache.org/projects/flink/flink-docs-release-1.3/api/java/org/apache/flink/cep/PatternTimeoutFunction.html .