2

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

  1. 第一个事件出现在给定的时间窗口(30 秒)
  2. 与第一个事件相关的第二个事件(通过某些属性)没有出现在给定的时间窗口中
  3. 生成新的错误事件

目前我实现了非常简单的“相反”实现:

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

1 回答 1

0

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

于 2017-07-17T19:46:38.620 回答