2 回答

TA貢獻(xiàn)12條經(jīng)驗 獲得超0個贊
flink和spark都是apache 軟件基金會(ASF)旗下頂級項目,都是通用數(shù)據(jù)處理平臺。它們可以應(yīng)用在很多的大數(shù)據(jù)應(yīng)用和處理環(huán)境。兩者均可在不依賴于其他環(huán)境的情況下運(yùn)行于standalone模式,或是運(yùn)行在基于hadoop(YARN,HDFS)之上,由于它們均是運(yùn)行于內(nèi)存,所以他們表現(xiàn)的都比hadoop要好很多。
flink和spark的比較
數(shù)據(jù)處理
flink在批處理模式下處理數(shù)據(jù),而Fink實時處理流數(shù)據(jù)。火花處理數(shù)據(jù)塊,稱為RDDS,而FLink可以實時處理行數(shù)據(jù)之后的行。因此,雖然最小的數(shù)據(jù)延遲總是在spark上存在,但spark卻不是這樣。
迭代
spark支持批處理中的數(shù)據(jù)迭代,但弗林克可以通過使用流式架構(gòu)來對其數(shù)據(jù)進(jìn)行迭代迭代。下面的圖像顯示了迭代處理是如何發(fā)生的。
內(nèi)存管理
FLink可以自動適應(yīng)不同的數(shù)據(jù)集,但spark需要手動優(yōu)化和調(diào)整其作業(yè)到單個數(shù)據(jù)集。spark也進(jìn)行手動分區(qū)和緩存。因此,期待一些延遲處理。
數(shù)據(jù)流
FLink在需要時能夠在數(shù)據(jù)處理上提供中間結(jié)果。spark遵循過程編程系統(tǒng),F(xiàn)Link遵循分布式數(shù)據(jù)流方法。因此,每當(dāng)需要中間結(jié)果時,廣播變量被用來將預(yù)先計算的結(jié)果分發(fā)給所有的工作者節(jié)點。

TA貢獻(xiàn)1735條經(jīng)驗 獲得超5個贊
1、Spark在SQL上的優(yōu)化,尤其是DataFrame到DataSet其實是借鑒的Flink的。Flink最初一開始對SQL支持得就更好。
2、Spark的cache in memory在Flink中是由框架自己判斷的,而不是用戶來指定的,因為Flink對數(shù)據(jù)的處理不像Spark以RDD為單位,就是一種細(xì)粒度的處理,對內(nèi)存的規(guī)劃更好。
3、Flink原來用Java寫確實很難看,現(xiàn)在也在向Spark靠攏,Scala的支持也越來越好。不管怎么說,二者目前都是在相互吸收。
- 2 回答
- 0 關(guān)注
- 1279 瀏覽
添加回答
舉報