靚麗時尚館

位置:首頁 > 健康生活 > 心理

flink為什麼比spark好

心理1.31W
flink為什麼比spark好

Flink相對於Spark的優點體現在以下幾個方面。

容錯

Flink 基於兩階段提交實現了精確的一次處理語義。

Spark Streaming 只能做到不丟資料,但是有重複。

反壓

Flink 在資料傳輸過程中使用了分散式阻塞佇列,一個阻塞佇列中,當佇列滿了以後傳送者會被天然阻塞住,這種阻塞功能相當於給這個阻塞佇列提供了反壓的能力

Spark Streaming 為了實現反壓這個功能,在原來的架構基礎上構造了一個“速率控制器”,這個“速率控制器”會根據幾個屬性,如任務的結束時間、處理時長、處理訊息的條數等計算一個速率。在實現控制資料的接收速率中用到了一個經典的演算法,即“PID 演算法”。

流和微批

Flink是流處理,用流的思想做批處理。

Spark 是微批處理,用批的思想做流處理。

延時

sparkstreaming是秒級別的

Structured Streaming是毫秒級別的

Flink是亞秒級別的

狀態儲存

spark的狀態管理目前做的比較簡單,只有兩個對應的運算元(UpdateStateByKey和mapWithState)

Flink 提供檔案、記憶體、RocksDB 三種狀態儲存,五種型別的狀態,(ValueState,ListState,ReducingState,AggregatingState,FoldingState,MapState)

靈活的視窗

Spark只能根據處理時間視窗批量處理

Flink可以基於處理時間,資料時間,沒有記錄等的視窗

標籤:spark flink