flink cep:如何检查下一个事件是否在给定的时间窗口内没有出现?

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

我试图找出如何实现具有事件流的以下逻辑:
第一个事件出现在给定的时间窗口(30秒)
与第一个事件相关的第二个事件(通过某些属性)没有在给定的时间窗口中出现
生成新错误事件
目前我实现了“相反”的实现,非常简单:

stream.begin('first').where({conditions}).next('second').where({conditions}).within(Time.seconds(30))
e7arh2l6

e7arh2l61#

可以使用 PatternTimeoutFunction 在时间窗口中未接收到事件时生成新事件。有关此类函数以及如何在此处使用它的详细信息:https://ci.apache.org/projects/flink/flink-docs-release-1.3/api/java/org/apache/flink/cep/patterntimeoutfunction.html.

相关问题