hadoop和spark的區別
學習 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 是一種與 相似的開源叢集計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了記憶體分佈資料集,除了能夠提供互動式查詢外,它還可以最佳化迭代工作負載。
4、資料安全恢復:Hadoop每次處理的後的資料是寫入到磁碟上,所以其天生就能很有彈性的對系統錯誤進行處理;spark的資料物件儲存在分佈於資料叢集中的叫做彈性分散式資料集中,這些資料物件既可以放在記憶體,也可以放在磁碟,所以spark同樣可以完成資料的安全恢復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2222275/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Q:Spark和Hadoop的架構區別SparkHadoop架構
- hadoop1.0 和 Hadoop 2.0 的區別Hadoop
- Spark Streaming和Flink的區別Spark
- Spark TempView和GlobalTempView的區別SparkView
- Hadoop 和 GBase 8a 的區別Hadoop
- 如何掌握Spark和Hadoop的架構SparkHadoop架構
- Spark 外部變數和BroadCast變數的區別Spark變數AST
- 【Hadoop】SNN與HA的區別Hadoop
- hadoop:spark-project專案的hadoop配置HadoopSparkProject
- Spark與MapReduce的對比(區別)Spark
- 常見的七種Hadoop和Spark專案案例HadoopSpark
- Storm,Spark和Samza三種框架有何區別?ORMSpark框架
- 談談Hadoop MapReduce和Spark MR實現HadoopSpark
- Spark和Hadoop之間的主要技術差異和選擇SparkHadoop
- hadoop發行版本之間的區別Hadoop
- 【hadoop/Spark】相關命令HadoopSpark
- Hadoop與Spark關係HadoopSpark
- Apache Spark:資料框,資料集和RDD之間的區別 - BaeldungApacheSpark
- ../和./和/的區別
- 大資料入門課程:Hadoop和spark的效能比較大資料HadoopSpark
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP
- hadoop+spark偽分散式HadoopSpark分散式
- ||和??的區別
- /*和/**的區別
- 簡要MR與Spark在Shuffle區別Spark
- 大資料開發:剖析Hadoop和Spark的Shuffle過程差異大資料HadoopSpark
- 好程式設計師技術解析Hadoop和spark的效能比較程式設計師HadoopSpark
- Hadoop/Spark 太重,esProc SPL 很輕HadoopSpark
- 大資料框架對比 - Hadoop、Spark、Storm、Samza、Spark、Flink大資料框架HadoopSparkORM
- makefile =和:=的區別
- ++a和a++的區別
- ./ 和sh 的區別
- jquery $(this) 和this的區別jQuery
- JQuery this和$(this)的區別jQuery
- T和?的區別
- 和區別
- Hadoop進入寒冬期,崛起的會是Spark嗎?HadoopSpark