flink和spark對比
發(fā)布時間:2025-11-01閱讀(2)
1、技術(shù)理念不同:Spark的技術(shù)理念是使用微批來模擬流的計算,基于Micro-batch,數(shù)據(jù)流以時間為單位被切分為一個個批次,通過分布式數(shù)據(jù)集RDD進行批量處理,是一種偽實時。而Flink是基于事件驅(qū)動,它是一個面向流的處理框架, Flink基于每個事件一行一行地流式處理,是真正的流式計算。 另外他也可以基于流來模擬批進行計算實現(xiàn)批處理,在技術(shù)上具有更好的擴展性。2、時間機制:SparkStreaming只支持處理時間, 折中地使用processing time來近似地實現(xiàn)event time相關(guān)的業(yè)務(wù)。使用processing time模擬event time必然會產(chǎn)生一些誤差, 特別是在產(chǎn)生數(shù)據(jù)堆積的時候,誤差則更明顯,甚至導(dǎo)致計算結(jié)果不可用,Structured streaming 支持處理時間和事件時間,同時支持 watermark 機制處理滯后數(shù)據(jù)Flink 支持三種時間機制:事件時間、注入時間、處理時間、同時支持 watermark 機制處理遲到的數(shù)據(jù),說明Flink在處理亂序大實時數(shù)據(jù)的時候,優(yōu)勢比較大。