Apache Flink CEP 超时模式未按时间定义 window
Apache Flink CEP Timout Pattern in not defined by time window
我正在使用 PatternTimeoutFunction
丢弃超出定义时间 window 的事件序列。
我设置水印如下
public Watermark checkAndGetNextWatermark(Event lastElement, long extractedTimestamp) {
return new Watermark(extractedTimestamp);
}
当模式超时发生时,timeoutTimestamp
应该等于第一个事件时间戳+时间值window
但是超时是在收到下一个水印后触发的。超时是在收到下一个水印后触发还是基于 timeWindow
到期?
如果您使用事件时间,则超时由水印的接收触发。因为如果您收到此时间戳的水印,您只能确定看到了特定点之前的所有元素。
这意味着超时时间戳可以大于第一个事件时间戳 + window 长度,具体取决于下一个水印的值。因此,超时时间戳实际上是您意识到您的模式超时的事件时间。
我正在使用 PatternTimeoutFunction
丢弃超出定义时间 window 的事件序列。
我设置水印如下
public Watermark checkAndGetNextWatermark(Event lastElement, long extractedTimestamp) {
return new Watermark(extractedTimestamp);
}
当模式超时发生时,timeoutTimestamp
应该等于第一个事件时间戳+时间值window
但是超时是在收到下一个水印后触发的。超时是在收到下一个水印后触发还是基于 timeWindow
到期?
如果您使用事件时间,则超时由水印的接收触发。因为如果您收到此时间戳的水印,您只能确定看到了特定点之前的所有元素。
这意味着超时时间戳可以大于第一个事件时间戳 + window 长度,具体取决于下一个水印的值。因此,超时时间戳实际上是您意识到您的模式超时的事件时间。