Flink水印生成方式有哪些?
watermark 的生成方式本質(zhì)上是有兩種:周期性生成和標(biāo)記生成。
周期性生成器通常通過(guò)?onEvent()?觀(guān)察傳入的事件數(shù)據(jù),然后在框架調(diào)用?onPeriodicEmit()?時(shí)發(fā)出?watermark。
標(biāo)記生成器將查看?onEvent()?中的事件數(shù)據(jù),并等待檢查在流中攜帶 watermark 的特殊標(biāo)記事件或打點(diǎn)數(shù)據(jù)。當(dāng)獲取到這些事件數(shù)據(jù)時(shí),它將立即發(fā)出 watermark。通常情況下,標(biāo)記生成器不會(huì)通過(guò) onPeriodicEmit() 發(fā)出 watermark。


周期性watermark策略
官方提供的 watermark生成器有兩種
升序watermark:?jiǎn)握{(diào)遞增生成水印
亂序watermark:固定延遲生成水印
都是基于周期性生成,默認(rèn)的周期是?200ms,一般不去改,保持在ms級(jí)別?onPeriodicEmit()
每間隔200ms一個(gè)周期,就會(huì)生成一個(gè)watermark

間歇性watermark策略
每一個(gè)事件時(shí)間都會(huì)產(chǎn)生一個(gè)watermark

