flink和spark對比

日期:2023-04-01 分類:數碼極客 投稿:田詩仙

最佳答案 技術理念不同:Spark的技術理念是使用微批來模擬流的計算,基於Micro-batch,資料流以時間為單位被切分為一個個批次,透過分散式資料集RDD進行批次處理,是一種偽實時。而Flink是基於事件驅動,它是一個面向流的處理框架,Flink基於每個事件一行一行地流式處理,是真正的流式計算。

flink和spark對比

1、技術理念不同:Spark的技術理念是使用微批來模擬流的計算,基於Micro-batch,資料流以時間為單位被切分為一個個批次,透過分散式資料集RDD進行批次處理,是一種偽實時。而Flink是基於事件驅動,它是一個面向流的處理框架, Flink基於每個事件一行一行地流式處理,是真正的流式計算。 另外他也可以基於流來模擬批進行計算實現批處理,在技術上具有更好的擴充套件性。

2、時間機制:SparkStreaming只支援處理時間, 折中地使用processing time來近似地實現event time相關的業務。使用processing time模擬event time必然會產生一些誤差, 特別是在產生資料堆積的時候,誤差則更明顯,甚至導致計算結果不可用,Structured streaming 支援處理時間和事件時間,同時支援 watermark 機制處理滯後資料Flink 支援三種時間機制:事件時間、注入時間、處理時間、同時支援 watermark 機制處理遲到的資料,說明Flink在處理亂序大實時資料的時候,優勢比較大。