hadoop與spark的區別是什麼
一、目的:首先須要明確一點,hadoophe spark 這兩者都是大數據框架,即使如此兩者各自存在的目的是不一樣的。
Hadoop是一個分佈式的數據基礎設施,它是將龐大的數據集分派到由若干臺計算機組成的集羣中的多個節點進行存儲。
Spark是一個專門用來對那些分佈式存儲的大數據進行處理的工具,spark自己並不會進行分佈式數據的存儲。安全
二、二者的部署:Hadoop的框架最核心的設計就是:HDFS和MapReduce。
HDFS爲海量的數據提供了存儲,則MapReduce爲海量的數據提供了計算。
因此使用Hadoop則能夠拋開spark,而直接使用Hadoop自身的mapreduce完成數據的處理。
Spark是不提供文件管理系統的,但也不是隻能依附在Hadoop上,它一樣能夠選擇其餘的基於雲的數據系統平臺,但spark默認的通常選擇的仍是hadoop。框架
三、數據處理速度:Spark,擁有Hadoop、 MapReduce所具備能更好地適用於數據挖掘與機器學習等須要迭代的的優勢;
但不一樣於MapReduce的是Job中間輸出結果能夠保存在內存中,從而再也不須要讀寫HDFS,機器學習
Spark 是一種與hadoop 類似的開源集羣計算環境,
可是二者之間還存在一些不一樣之處,這些有用的不一樣之處使 Spark 在某些工做負載方面表現得更加優越,
換句話說,Spark 啓用了內存分佈數據集,除了可以提供交互式查詢外,它還能夠優化迭代工做負載。分佈式
四、數據安全恢復:
Hadoop每次處理的後的數據是寫入到磁盤上,因此其天生就能頗有彈性的對系統錯誤進行處理;
spark的數據對象存儲在分佈於數據集羣中的叫作彈性分佈式數據集中,這些數據對象既能夠放在內存,也能夠放在磁盤,因此spark一樣能夠完成數據的安全恢復。ide