與Hadoop對比,如何看待Spark技術?
在大數據領域,hadoop和spark目前都佔有舉足輕重的地位,當然hadoop是大數據處理組件的開朝元老,Spark則是後起之秀,更有把前浪拍在沙灘上的趨勢。
當然兩者的對比,實際上是MapReduce和Spark運算模型的對比。
兩者採用了完全不同的運算模型,
MapReduce採用的maptask並發+reduceTask並發的模型
map階段做局部簡單的數據處理,經過shuffle後用reduce做數據的聚合、關聯、疊加的操作
spark1. 採用的是RDD數據模型,利用RDD之間的轉換做數據處理
2. RDD每次轉換都會生成新的RDD,形成流水線一樣的前後依賴關係
3. 整個數據處理在內存中進行,極大的提升了處理速度
比較由於運算模型的不同,spark的運算速度要比MapReduce快很多,基於內存要快100倍,基於硬碟要快10倍以上
但是Spark本身不具備hadoop的hdfs這樣的分散式文件系統,Spark處理的很多數據仍是hdfs上的數據
而且Spark在很多情況下都運行在Hadoop的資源管理系統Yarn上
所以在很大程度上還是依賴Hadoop的
從另一個方面,Spark也在慢慢取代Hadoop,
hive on Spark:取代MapReduce作為hive的計算引擎,大大提高了hive的效率,更加導致MapReduce的使用率減少
綜合來看兩者更多的是相互結合,相互促進,技術的革新也是無法避免的
上述就是對Hadoop和Spark的一點拙見,歡迎大家進行評論指教,也麻煩大家關注、點贊
學習使人充實,祝大家出任CTO、迎娶白富美!!!O(∩_∩)O
相較於Hadoop來說,spark技術在架構上分析:
spark計算過程在內存中執行並在內存中存儲,直到用戶保存為止。除此之外,Spark處理工作的方式基本與Hadoop類似。
在性能上來說:
Spark在內存中運行速度比Hadoop快100倍,在磁碟上運行速度快10倍。
在應用成本上來說:
設置Spark集群可能會更加昂貴,還有就是由於Spark是較新的系統,因此它的專家更為稀少,成本更高。
對於以後的應用發展來說:
Hadoop主要是用來處理數據,而spark主要是用來計算數據,對人工智慧的開發更有優勢。
其實無論是那個技術,精通是很重要的!
以上只是自己的一點見解,有更多見解的歡迎一起交流學習!
推薦閱讀: