標籤:

既然Spark比Hadoop性能好很多,Hadoop未來發展方向是什麼?

既然Spark比Hadoop性能好很多,Hadoop可不可以從Spark中借鑒一些技術,可以借鑒哪些技術,未來Hadoop可不可能達到與Spark類似的水平?


Impala比Spark性能還要好,但你看它現在這個鳥樣。

認真來講,Hadoop現在分三塊HDFS/MR/YARN,Spark比Hadoop性能好,只是Spark作為一個計算引擎,比MR的性能要好。但它的存儲和調度框架還是依賴於HDFS/YARN,Spark也有自己的調度框架,但仍然非常不成熟,基本不可商用。

目前來看,YARN在Hadoop的發展過程中占的比重較多,而且作為一個調度和資源管理框架,它可以兼容多計算框架。而且現在大數據領域的框架底層存儲基本都依賴於HDFS,這也就是為什麼很多文章開頭就說「Hadoop已經是大數據領域的事實標準」。

回到問題,大數據領域,「性能」可能並不是衡量一個大數據組件的唯一標準,安全、可靠性、與其他框架的兼容性、資源管理、可擴展性同樣很重要,而Hadoop作為大數據領域的核心組件,這些方面肯定都需要考慮,而不單單是性能。

--------------------------7月16日更新分割線---------------------

Spark And Hadoop Are Friends, Not Foes

這裡有一篇文章,大意相同,但闡述更詳細一點。


Hadoop是一個很大的軟體集合,其中直接和Spark衝突的是MapReduce。目前由於Spark已經證明了自己優於MapReduce的地方,所以MR方面的開發基本已經停止了,但是Yarn等集群管理方面的feature應該會繼續開發。它們的目標是構造一個通用的集群管理的操作系統,不但可以支持MR,Spark,還可以支持任何符合標準的分散式應用。


瀉藥!Hadoop不一定也非要做內存計算哇。每個開源項目做好自己擅長的部分,把其他項目更擅長的部分留給他們做到極致,各得其所。何況Spark和Hadoop兼容,同屬阿帕奇,可能性就更小了。


技術框架的產生和設計都是有業務背景的。Hadoop MapReduce 主要是為特大規模數據離線處理,特別是洗日誌而設計的。這種需求仍然是市場的主流,而Hadoop基本是唯一的選擇。

Spark 更多地是大規模機器學習設計的,這個領域火起來了也帶動了Spark的熱度。這個領域傳統上有MPI、BSP這種並行計算框架,現在還有 parameter server、caffe/cxxnet等特定領域的框架。然後R、Python在較小規模數據上也更受歡迎,競爭很激烈,最終結果還未可知。

類似細分領域還有很多,每個領域都有代表性的技術框架。

前者其實對性能要求不是特別高,更多看中容錯能力和吞吐量。後者對性能要求高,但便於科學家使用,計算結果質量等也很重要。所以用性能對兩者進行比較意義不大。


Haddoop 主要由三個組件: HDFS, MapReduce 和 YARN, Spark 的作用是個計算引擎,地位跟MapReduce類似,頂多替換掉 MapReduce, 但是Spark 還是得依賴HDFS和YARN.

HDFS 目前是部署得最多的分散式文件系統,已經是事實標準了,比 Ceph, GlusterFS等DFS多得多,因此大部分分散式計算框架在存儲方面都不會自己做,直接用HDFS, Spark就是這樣的

YARN 就更不用說了,作為調度系統和資源管理系統,它現在如日中天,Spark本身就可以作為一個組件運行在YARN之上。

Hadoop的未來依然光明,它依舊是大數據生態系統的核心,Spark 會繼續跟Hadoop生態系統緊密結合,分得自己的一杯羹。未來的格局就是這樣。


我不覺得這個問題如同上面很多回答那樣缺乏意義,事實上standalone Spark + Cassandra這樣的架構完全可以脫離hadoop的技術棧存在,或許在有些場景下是個不錯的選擇


大概的方向就是,Hadoop 會慢慢地變成大數據領域內的「操作系統」。


這兩個做比較就好像航空母艦和戰鬥機一樣。明白了吧。hadoop分為hdfs和yarn,可以理解成一個分散式的操作系統,支持存儲和計算。spark雖然可以單獨使用,但是很多情況是on yarn的 ,這時候spark 和mr 對於yarn來是一樣的統一分配計算資源。


spark確實在性能強大,對機器學習等也更有好。但是兩者並不是完全的競爭關係啊。hadoop是一個平台,一個生態。包括hdfs,mapreduce,yarn,hbase等等,甚至還支持storm和spark。我相信spark會成為hadoop yarn之上一個很好的分散式計算框架。


Hadoop為何非要和Spark比內存計算?Spark一定在任何使用場景下比Hadoop有更高的性能和更好的穩定性?


這種蛋疼的問題,你應該 @Doug Cutting


推薦閱讀:

Spark排序的原理?
HBase可以替代redis嗎?
為什麼(hadoop基準測試中)HDFS寫入速度如此之慢?
Hadoop Streaming模式的優缺點?
hadoop web管理Hue,Ambari 和CM 的區別是什麼?

TAG:Hadoop | Spark |