我正在实现一个用例,其中不同的物理设备正在发送事件,并且由于网络/电源问题,在 flink 源接收事件可能会出现延迟。 flink 作业中的操作符之一是 Pattern 操作符,并且有某些模式对时间敏感,所以我使用的是事件时间特性。但是当来自特定设备的事件出现不可预测的延迟时,问题就出现了,这会导致这些事件被丢弃(因为我无法真正定义静态边界来允许延迟)。
由于我正在使用以源设备 ID 为键的 KeyedStream,因此有没有一种方法可以允许每个 CEP 运算符(operator)实例(每个键一个)根据相应流分区中的事件时间推进其时间。或者换句话说,有没有办法在 KeyedStream 中为每个分区生成水印?
最佳答案
Flink 目前不支持按关键水印。水印是全局性的。
关于apache-flink - 是否可以在 KeyedStream (Apache Flink) 中为每个键生成水印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47185372/