清除数据流中的闪烁水印状态 [英] Clear Flink watermark state in DataStream
本文介绍了清除数据流中的闪烁水印状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以清除数据流中的当前水印?
不允许延迟的一个月水印示例输入:
[
{ timestamp: '10/2018' },
{ timestamp: '11/2018' },
{ timestamp: '11/2018', clearState: true },
{ timestamp: '9/2018' }
]
正常情况下,‘9/2018’的记录会因为时间太晚而被丢弃。是否有办法在看到clearState
消息时以编程方式重置水印状态?
推荐答案
水印不应该倒退--它不确定会发生什么,实际上这不是一个好主意。但是,有多种方法可以容纳延迟数据。
如果您使用的是Window API,Flink将在窗口的允许延迟过期后清除所有窗口状态。如果您想要比这更多的控制,请考虑使用ProcessFunction
,这将允许/要求您显式管理状态(和计时器)。
这篇关于清除数据流中的闪烁水印状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文