Flink 事件 水印 計算的關係

2021-10-02 09:43:41 字數 361 閱讀 9364

看了好久的對水印的介紹,總結出以下的關係。

水印:用於衡量事件時間進度的機制

為了解決亂序事件輸出正確的結果。

事件、水印、計算的關係

事件生成水印的策略

(1)遞增式的水印生成,適合遞增的資料,如果有不遞增的資料,那麼會被認為壞資料處理

(2)週期計算,每次生成通過-週期大小,比如設定的週期是10s,那麼2020-01-20 11:20:20 對應的水印是 2020-01-20 11:20:10

(3)標記計算,根據事件上面是否有標記來判斷是否需要生成水印。

水印觸發視窗計算的條件

(1)水印大於視窗的結束事件

(2)當前視窗裡面有值

參考資料:

flink水印的產生方式

assignerwithpunctuatedwatermarks 每乙個event到來的時候,就會提取一次watermark assignerwithperiodicwatermarks 可以定義乙個最大允許亂序的時間,生成水印的間隔 每n毫秒 使用 executionconfig.setautow...

flink 不設定水印 flink中的兩種水印

在flink中的時間視窗中有個重要概念,就是watermark,也就是我們經常談論的水印,這裡我們不對水印的概念和使用方式進行介紹,這裡從原始碼的角度來看,如何不斷的生成水印。在flink中,有兩種水印timestampsandpunctuatedwatermarksoperator timesta...

委託與事件的關係

說道 委託 這個詞我們肯定都不會陌生吧,生活中 委託 就是請別人幫我們做事。程式中也是如此,委託機制是.net中特有的,我們可以將方法作為引數傳給委託,讓委託幫我呼叫執行方法。先來看看委託是如何定義的 訪問修飾符 delegate 返回值 委託名 引數 委託類似於c c 中的函式指標,但是它們又有一...