1. 程式人生 > >hadoop和spark的區別介紹

hadoop和spark的區別介紹

比較 網站 img alt 分布式 叠代 恢復 TE 好的

學習hadoop已經有很長一段時間了,好像是二三月份的時候朋友給了一個國產Hadoop發行版下載地址,因為還是在學習階段就下載了一個三節點的學習版玩一下。在研究、學習hadoop的朋友可以去找一下看看(發行版 大快DKhadoop,去大快的網站上應該可以下載到的。)
技術分享圖片
在學習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同樣可以完成數據的安全恢復。

hadoop和spark的區別介紹