日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Flink菜鸟教程(二)——时间概念

發布時間:2023/12/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flink菜鸟教程(二)——时间概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?歡迎關注公眾號——《數據三分鐘》

一線大廠的師兄師姐結合自己的工作實踐,將數據知識淺顯道來,每天三分鐘,助你成為數據達人。還有面試指導和內推機會。

? ? ? ?上一節說到,實時計算中的數據可以看成無界流(unbounded stream),沒有確切的結束時間,就像水流一樣——逝者如斯夫,不舍晝夜。這也是實時數據區別于離線數據的地方,離線數據是有界的,有確定的開始時間和結束時間,因此所有的離線計算都是基于確定的有限數據展開的。

一、實時計算中時間的重要性

? ? ? ?離線計算模式下,計算引擎攝入全量的需要計算的有界數據,按照確定的維度進行聚合,所有的計算過程都是確定的。但是在實時計算中卻截然不同,首先實時計算是持續不斷進行的,由于網絡波動等情況不可避免,數據最終到達算子的時間和數據真實產生的時間并不一致,那么flink引擎以什么為計算的基準呢?又怎么去觸發計算呢?這里就不得不提到窗口機制了,它是經典的無界數據的分組計算方式。流式計算中的數據是一條一條源源不斷產生的記錄,每一條記錄都會有產生的時間、進入Flink引擎的時間和到達算子的時間,這些時間分別對應Event time、Ingestion time、Processing time,Flink就是按照這些時間對數據進行分組和計算的。

二、事件時間(Event time)

? ? ? ?事件時間是記錄數據真實產生時候的時間,它是每一條數據在物理世界中的先后順序,也是計算中首選的時間基準!但是選用事件時間也不得不面臨一些問題:首先,事件時間是數據產生時候的時間,并非被Flink計算時候的時間,也就是說,數據在被計算的時候一定會不可避免地發生錯亂,我們如何即保有數據最真實的產生時間,有能夠兼容數據在傳輸過程中的亂序問題,這就可以采用watermark機制(后續文章會詳細寫到)。

三、處理時間(Processing time)

? ? ? ?處理時間是數據進入Flink算子的時間,也就是計算節點機器的本地時間,這種時間可以帶來最好的性能和最低的延遲。但是,這樣的計算也最不具準確性,當我們回跑數據時,難以保證數據的一致性。

四、攝入時間(Ingestion time)

? ? ? ?攝入時間是數據進入Flink的時間,數據進入的時候會打上系統時間戳。攝入時間從發生的時間上看,處于事件時間和處理時間之間,它的實現成本也處在事件時間和處理時間之間。攝入時間可以提供比處理時間更高的確定性,因為數據進入Flink后它的時間就確定好了,在后續的計算中,可以有效地應對由于多并發或數據在節點間shuffle帶來的亂序問題。

? ? ? ?但是在實際應用中,事件時間和處理時間用得最多,且Flink SQL目前僅支持事件時間和處理時間。

總結

以上是生活随笔為你收集整理的Flink菜鸟教程(二)——时间概念的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。