我们使用带有水印的周期性事件时间窗口。我们目前有4个并行任务在我们的Flink应用程序。
在流处理过程中,所有4个任务的水印值都必须接近触发窗口事件。
例如; 任务1水印值=8 任务2水印值=1 任务3水印值=8 任务4水印值=8
任务2正在等待日志更新其水印。但是,这种情况可能发生在任务2的更新之前,我们希望在它之前触发窗口事件。。
是否有任何机制来对齐所有并行任务的水印或触发窗口事件而不等待其他任务?
发布于 2021-03-03 00:19:22
@Til Rohrmann的评论已经回答了这一点,主要答复是:
如果您想要查找三个发送者是相同的人,那么您应该
keyBy的人,然后简单地使用一个计数窗口来生成警报。也许你也想为同一个人过滤出重复的发件人。
后续问题:
但我们也需要考虑活动时间。例如,10分钟内发送3台(事件时间不包括处理时间)
后续答复:
然后,您可以使用带有自定义触发器的事件时窗口,该触发器在看到3个元素时触发。
我想关键的结论是:如果您想要触发某项内容,请keyBy该字段。
https://stackoverflow.com/questions/36195501
复制相似问题