Spark比Hadoop的優勢有這麼大嗎?
剛接觸Spark,論文中提到內存計算。但是經常用到的Shuffle過程仍然把中間數據放到硬碟中。實際在測試中,利用Shark(Spark on Hive)比Hive真沒提高多少效率(沒有經過很多優化)。現在持有Spark取代Hadoop觀點的人越來越多了,Spark的確有這麼光明嗎?
spark現在shuffle確實要通過硬碟,單單從IO讀寫上體現不出比Hadoop的太大優勢,Spark的優勢在於內存計算和對內存中RDD的管理。這個優勢結合Tachyon(基於內存的分散式文件系統),以後還是有很大的空間的。
對於Hadoop,1.x已經比較過時了,到時基於Yarn的2.x版本還是有很多應用場景的,這就比如現在淘寶內部已經在大規模集群上部署Spark on Yarn(參見Spark On Yarn:小火花照亮大數據),而且很多業務都在此之上運行。個人感覺,以後Hadoop2.x(Yarn)的發展方向可能會變成一種廣泛應用的中間件。
成熟度還差得遠著呢
首先Hadoop是一個比較大的概念,我理解你是想比較Spark和MapReduce我總結的優勢包括:
1 事件觸發任務執行的機制優於MR的心跳觸發任務執行機制
2 DAG的任務調度執行機制優於MR的迭代執行機制Spark與Hadoop對比,Spark在某些方面還是有明顯優勢的:
1.Spark的中間數據存放在內存中,對於迭代運算而主,效率更高一些。
2.Spark更適合迭代運算比較多的數據挖掘和機器學習運算,因為在Spark里有RDD的抽象概念。
3.Spark比Hadoop更通用。
4.Spark提供的數據集操作類型有很多,而Hadoop只提供了Map和Reduce兩種操作性。
5.容錯性。在分散式數據計算時通過Checkpoint來實現容錯。
6.可用性,Spark通過提供豐富的Scala、Java、Python API及互動式Shell來提高可用性。
總的來說,Spark的適用範圍較廣,並且較為通用,大數據時代,也一定要知道,Hadoop是什麼,主要有哪幾部分組成和Hadoop的影響力? - 大數據 多智時代
hadoop是個工具包,spark是個工具。spark要替換的是hadoop中的map-reduce。
不大吧?速度上也就十倍左右的差距,就是hadoop要10個小時的,用spark只用1個小時了,你覺得呢
推薦閱讀:
※Scala 在大數據處理方面有何優勢?
※如何看待類似Spark亞太研究院的王家林打著開源旗號賺錢的行為?
※如何評價spark的機器學習框架 和 tensorflow的機器學習系統?
※如何解釋spark mllib中ALS演算法的原理?