五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Flink中,為什么要有 Watermark?

2023-08-16 14:41 作者:ingemar-  | 我要投稿

為什么要有 Watermark?

當(dāng) flink 以?EventTime?模式處理流數(shù)據(jù)時,它會根據(jù)數(shù)據(jù)里的時間戳來處理基于時間的算子。但是由于網(wǎng)絡(luò)、分布式等原因,會導(dǎo)致數(shù)據(jù)亂序的情況。如下圖所示:


Flink中的WaterMark


只要使用event time,就必須使用watermark,在上游指定,比如:source、map算子后

基本概念

Watermark的核心本質(zhì)可以理解成一個延遲觸發(fā)機(jī)制。

我們知道,流處理從事件產(chǎn)生,到流經(jīng)source,再到operator,中間是有一個過程和時間的,雖然大部分情況下,流到operator的數(shù)據(jù)都是按照事件產(chǎn)生的時間順序來的,但是也不排除由于網(wǎng)絡(luò)背壓等原因,導(dǎo)致亂序的產(chǎn)生,所謂亂序,就是指Flink接收到的事件的先后順序不是嚴(yán)格按照事件的Event Time順序排列的

我們來設(shè)想一下下面這個場景:

使用時間窗口來統(tǒng)計10分鐘內(nèi)的用戶流量

有一個時間窗口

  • 開始時間為:2017-03-19 10:00:00

  • 結(jié)束時間為:2017-03-19 10:10:00

有一個數(shù)據(jù),因為網(wǎng)絡(luò)延遲

  • 事件發(fā)生的時間為:2017-03-19 10:10:00

  • 但進(jìn)入到窗口的時間為:2017-03-19 10:10:02,延遲了2秒中

時間窗口并沒有將59這個數(shù)據(jù)計算進(jìn)來,導(dǎo)致數(shù)據(jù)統(tǒng)計不正確

根據(jù)窗口計算時間的不同,這個數(shù)據(jù)都會被遺漏,只是:

  • 如果按照處理時間來計算,這個窗口在系統(tǒng)時間大于2017-03-19 10:10:00的時候就會關(guān)閉,延遲進(jìn)來的這個59會被忽略

  • 如果按照事件時間來計算,這個窗口當(dāng)進(jìn)入一條數(shù)據(jù),其事件時間大于2017-03-19 10:10:00的時候,會導(dǎo)致窗口關(guān)閉,同樣因為這個59延遲了,會因為別的正常順序的數(shù)據(jù)進(jìn)入Flink而導(dǎo)致屬于它的窗口被提前關(guān)閉

也就是:

處理時間窗口,按照當(dāng)前系統(tǒng)時間來判斷進(jìn)行窗口關(guān)閉

事件時間窗口,按照進(jìn)入數(shù)據(jù)的事件時間來判斷是否關(guān)閉窗口,如果進(jìn)來的一條新數(shù)據(jù)是下一個窗口的數(shù)據(jù),那么會關(guān)閉上一個窗口

總結(jié):

watermark是水印,也稱水位線。用來測量事件時間的進(jìn)度。

watermark作為數(shù)據(jù)流中的一部分在流動,并且攜帶一個時間戳t。

watermark(t) 表示這個流里面事件時間已經(jīng)到了時間t,意味著流中不應(yīng)該存在時間戳t2<=t的數(shù)據(jù)。

觸發(fā)窗口等的計算、關(guān)閉

單調(diào)遞增的(時間不能倒退)

用來處理數(shù)據(jù)亂序的問題


Flink中,為什么要有 Watermark?的評論 (共 條)

分享到微博請遵守國家法律
灵川县| 台中市| 宣城市| 叶城县| 嘉善县| 安宁市| 麻阳| 灵石县| 图片| 盐山县| 衢州市| 周宁县| 松阳县| 左云县| 镇康县| 扎囊县| 遂川县| 同心县| 斗六市| 彩票| 布尔津县| 大兴区| 河西区| 凤台县| 乃东县| 无极县| 宿州市| 家居| 泰和县| 马公市| 故城县| 晋宁县| 凤山县| 博爱县| 平昌县| 纳雍县| 九台市| 临沧市| 屯昌县| 安丘市| 宜川县|