Flink中處理亂序資料的三種方式

2021-10-21 07:46:56 字數 307 閱讀 3523

加水印

flink中的時間語意watermark,以事件時間減去所允許的最大亂序時間作為水印,原理相當於多給了資料一定的時間,然後關閉視窗,觸發計算。

允許遲到allowedlateness

原理是在水印的基礎上在多給資料一定的可以遲到的時間,當水印到達視窗大小時觸發計算,但是不關閉視窗,到達所允許的遲到時間後真正關閉視窗。

側輸出流

當資料遲到的時間非常久,前兩種都失效時使用,相當於遲到資料歸放入乙個分支流中進行單獨計算。

此外,側輸出流還可以對資料進行分流操作。

關於這三種方案的詳細使用詳見:

實現只有0,1,2三種元素的亂序陣列的排序

第一眼看到這樣的題目,會舉得非常簡單,只需要兩次遍歷陣列就可以完成了。第一次遍歷,掃瞄陣列中的元素,每次遇到0則count0 遇到1則count1 遇到2則count2 這樣一趟下來就能夠統計出陣列中0,1,2的個數了。然後第二次遍歷的時候,只需要對陣列進行重新賦值就可以了,從頭開始賦值count0...

實現只有0,1,2三種元素的亂序陣列的排序

待補充 題目 乙個陣列中只有0,1,2三種元素,要求對這樣的陣列進行排序。第一眼看到這樣的題目,會舉得非常簡單,只需要兩次遍歷陣列就可以完成了。第一次遍歷,掃瞄陣列中的元素,每次遇到0則count0 遇到1則count1 遇到2則count2 這樣一趟下來就能夠統計出陣列中0,1,2的個數了。然後第...

實現只有0,1,2三種元素的亂序陣列的排序

待補充 題目 乙個陣列中只有0,1,2三種元素,要求對這樣的陣列進行排序。第一眼看到這樣的題目,會舉得非常簡單,只需要兩次遍歷陣列就可以完成了。第一次遍歷,掃瞄陣列中的元素,每次遇到0則count0 遇到1則count1 遇到2則count2 這樣一趟下來就能夠統計出陣列中0,1,2的個數了。然後第...