Hadoop和Spark是兩個不同的分佈式軟件框架



Hadoop和Spark是兩個不同的分佈式軟件框架。hadoop是一個MapReduce框架,在這個框架上可以運行支持map(),combine(),reduce()函數的作業。mapreduce的範式很適合單趟計算【先map,再reduce】,不過對於多趟算法的效率還是很低。


spark不是一個mapreduce的框架,不過很容易用來支持mapreduce的框架的功能,他提供了一個適當的API可以處理map和reduce的功能。spark並不限於先完成映射階段在完成歸約階段。spark作業可以是由映射和/或歸約/洗牌階段構成的一個任意DAG(有向無環圖)。spark程序可以使用hadoop運行,也可以不適用hadoop,另外spark可以使用hadoop分佈式文件系統HDFS,或者其他持久存儲來實現輸入和輸出。基在本上,對於一個給定的spark程序或者作業,spark引擎會創建將在集羣上完成的任務階段所構成的有向無環圖。hadoop和mapreduce則不同,他會創建由兩個預定義階段構成的有向無環圖。注意,spark創建的DAG可以包含任意多個階段。相比hadoop和mapreduce,spark的API提供了更高層的抽象。這使得spark的代碼更加簡潔。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章