千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  應聘面試  >  大數據面試題  > 大數據面數據:Flink Allowed Lateness & Side OutPut?

大數據面數據:Flink Allowed Lateness & Side OutPut?

來源:千鋒教育
發布人:wjy
時間: 2022-09-02 16:59:00 1662109140

雖說水位線(Watermark)表明早于它的事件不應該再出現,但是接收到水位線以前的的消息是不可避免的,這就是所謂的遲到事件。實際上遲到事件是亂序事件的特例,和一般亂序事件不同的是它們的亂序程度超出了水位線的預計,導致窗口在它們到達之前已經關閉。

遲到事件出現時窗口已經關閉并產出了計算結果,因此處理的方法有3種: 

- 重新激活已經關閉的窗口并重新計算以修正結果。

- 將遲到事件收集起來另外處理。 

- 將遲到事件視為錯誤消息并丟棄。

Flink 默認的處理方式是第3種直接丟棄,其他兩種方式分別使用Allowed Lateness和 Side Output。

Side Output機制可以將遲到事件單獨放入一個數據流分支,這會作為 window計算結果的副產品,以便用戶獲取并對其進行特殊處理。Allowed Lateness機制允許用戶設置一個允許的最大遲到時長。

Flink 會在窗口關閉后一直保存窗口的狀態直至超過允許遲到時長,這期間的遲到事件不會被丟棄,而是默認會觸發窗口重新計算。

因為保存窗口狀態需要額外內存,并且如果窗口計算使用了 ProcessWindowFunction API 還可能使得每個遲到事件觸發一次窗口的全量計算,代價比較大,所以允許遲到時長不宜設得太長,遲到事件也不宜過多,否則應該考慮降低水位線提高的速度或者調整算法。 

這里總結機制為: 

- 窗口window 的作用是為了周期性的獲取數據。 

- watermark的作用是防止數據出現亂序(經常),事件時間內獲取不到指定的全部數據,而做的一種保險方法。 

- allowLateNess是將窗口關閉時間再延遲一段時間。 

- sideOutPut是最后兜底操作,所有過期延遲數據,指定窗口已經徹底關閉了,就會把數據放到側輸出流。

千鋒教育

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
日本香港三级三级久久妇 | 日韩精品一二三区 | 久久国内中文字幕 | 色yeye网址在线观看 | 亚州精品在线视频 | 日精品一区二区三区 |