天天看點

hadoop和spark的差別

學習hadoop已經有很長一段時間了,好像是二三月份的時候朋友給了一個國産Hadoop發行版下載下傳位址,因為還是在學習階段就下載下傳了一個三節點的學習版玩一下。在研究、學習hadoop的朋友可以去找一下看看(發行版DKhadoop,去大快的網站上應該可以下載下傳到的。)

hadoop和spark的差別

在學習hadoop的時候查詢一些資料的時候經常會看到有比較hadoop和spark的,對于初學者來說難免會有點搞不清楚這二者到底有什麼大的差別。我記得剛開始接觸大資料這方面内容的時候,也就這個問題查閱了一些資料,在《FreeRCH大資料一體化開發架構》的這篇說明文檔中有就Hadoop和spark的差別進行了簡單的說明,但我覺得解釋的也不是特别詳細。我把個人認為解釋的比較好的一個觀點分享給大家:

它主要是從四個方面對Hadoop和spark進行了對比分析:

1、目的:首先需要明确一點,hadoophe spark 這二者都是大資料架構,即便如此二者各自存在的目的是不同的。Hadoop是一個分布式的資料基礎設施,它是将龐大的資料集分派到由若幹台計算機組成的叢集中的多個節點進行存儲。Spark是一個專門用來對那些分布式存儲的大資料進行處理的工具,spark本身并不會進行分布式資料的存儲。

2、兩者的部署:Hadoop的架構最核心的設計就是:HDFS和MapReduce。HDFS為海量的資料提供了存儲,則MapReduce為海量的資料提供了計算。是以使用Hadoop則可以抛開spark,而直接使用Hadoop自身的mapreduce完成資料的處理。Spark是不提供檔案管理系統的,但也不是隻能依附在Hadoop上,它同樣可以選擇其他的基于雲的資料系統平台,但spark預設的一般選擇的還是hadoop。

3、資料處理速度:Spark,擁有Hadoop、 MapReduce所具有能更好地适用于資料挖掘與機器學習等需要疊代的的優點;但不同于MapReduce的是Job中間輸出結果可以儲存在記憶體中,進而不再需要讀寫HDFS,

Spark 是一種與 

Hadoop

 相似的開源叢集計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了記憶體分布資料集,除了能夠提供互動式查詢外,它還可以優化疊代工作負載。

4、資料安全恢複:Hadoop每次處理的後的資料是寫入到磁盤上,是以其天生就能很有彈性的對系統錯誤進行處理;spark的資料對象存儲在分布于資料叢集中的叫做彈性分布式資料集中,這些資料對象既可以放在記憶體,也可以放在磁盤,是以spark同樣可以完成資料的安全恢複。

繼續閱讀