看了flink的水印機制,感覺抽象難理解,想不明白水印時間為什么減掉幾秒鐘就是告訴flink要晚到達幾秒,事件的觸發時間和系統時間是不會變的呀,還有為什么要取最大時間戳是咋回事,希望能有大神用通俗易懂的方式介紹一下
uj5u.com熱心網友回復:
其實是翻譯的有問題,實際上應該翻譯為水位線。接受的資料就相當于浮在水面的物體,水位線的高度只會升高不會降低,每當一個新資料進來時,會重新計算水位線時間,但是計算結果小于當前水位線時間,則不會更新現有的水位線。 當水位線到達視窗觸發時間時才會觸發視窗的計算。watermark的意義在于資料無序傳遞的時候有一定容錯率,如果晚來的資料在容錯范圍之內,會當做正常傳遞來處理。
uj5u.com熱心網友回復:
也就是接受的資料的時間在水位線以下就可以正常接受,水位線不會更新,超過水位線的,水位線會更新,計算按照水位線為準,是這個意思嗎uj5u.com熱心網友回復:
就是你在走,后面有一個小朋友也在走。他和你保持一個距離,小朋友只前進不后退。你有可能后退。但是如果你比小朋友還慢,就任務你遲到太久了,應該被忽略。uj5u.com熱心網友回復:
應該是以小朋友的時間為準是嗎uj5u.com熱心網友回復:
我也講一下我理解的 WaterMark -> https://blog.csdn.net/weixin_42261489/article/details/105756384轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/62214.html
標籤:高性能計算
上一篇:棋牌游戲開發
