flink 中的水位線(Watermark)

whiteY發表於2024-03-08

水位線 Watermark


實時統計使用了flink sql程式,使用flink-TVF表值函式滾動視窗按分鐘進行資料聚合操作,消費的kafka資料需要在規定的時間視窗內進行推送資料並消費計算,
為了解決處理亂序事件或延遲資料引入了Watermark,用來設定延遲計算時間等待遲到的資料,但不能無限期的等下去,必須要有個機制來保證一個特定的時間後,觸發window去進行計算,
超過Watermark水位線時間戳的資料將被丟棄,被認為違流式計算的初衷。(Watermark時間設定不宜過長,在TPS很高的場景下會產生大量的Watermark在一定程度上對下游運算元造成壓力)


相關文章