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

时间:2017-01-20 15:28:28

标签: apache-flink flink-streaming flink-cep

我正在尝试找出如何实现具有事件流的以下逻辑:

  1. 第一个事件出现在给定的时间窗口(30秒)
  2. 与第一个事件相关的第二个事件(某个属性)在给定时间窗口内没有出现
  3. 生成新的错误事件
  4. 目前,我实施了“相反”的实施,非常简单:

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

1 个答案:

答案 0 :(得分:0)

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