對Hadoop和ApacheSPark的選擇哪個更好

IT資訊 2019-05-31

我相信你和我一樣讀過這篇文章,對Hadoop和ApacheSPark的選擇有一些疑問。在今天查閱了大量的信息之后,讓我們來談談這兩個平臺的比較和選擇,看看哪一個更適合工作和發展。
大數據:Hadoop還是Spark?
一、Hadoop與Spark
1.Spark
SMACK是一個快速通用的集群計算平臺。在速度方面,Spark擴展了廣泛使用的MapReduce計算模型,有效地支持更多的計算模型,包括交互式查詢和流處理。
星火項目包含許多緊密集成的組件。spark的核心是一個計算引擎,它調度、分發和監視由多臺工作機器或計算集群上運行的許多計算任務組成的應用程序。
2.Hadoop
Hadoop是ApacheFoundation開發的分布式系統基礎設施。用戶可以在不了解分布式底層細節的情況下開發分布式程序。充分利用集群的功率進行高速運行和存儲.Hadoop框架的核心設計是HDFS和MapReduce。HDFS為海量數據提供存儲,而MapReduce則為海量數據提供計算。
二、異與同
解決問題的層面不一樣
首先,Hadoop和ApacheSirk都是大數據框架,但它們的存在有著不同的目的。Hadoop本質上是一種分布式數據基礎設施:它將龐大的數據集分發到一個普通計算機集群中的多個節點,這意味著您不需要購買和維護昂貴的服務器硬件。同時,Hadoop將對這些數據進行索引和跟蹤,使大型數據的處理和分析效率達到了前所未有的高水平。火花,是一種用來處理大數據的分布式存儲,它不存儲分布式數據。
兩者可合可分
Hadoop提供了一個名為mapreduce的數據處理函數,以及我們都同意的HDFS分布式數據存儲函數。因此,我們可以單獨使用SPark,并使用Hadoop自己的MapReduce來處理數據。
相反,星火并不一定要附在Hadoop上才能生存。但如上所述,它畢竟沒有提供文件管理系統,因此必須與其他分布式文件系統集成才能工作。在這里,我們可以選擇Hadoop的HDF或其他基于云的數據系統平臺。但是SPark在默認情況下仍然是在Hadoop上使用的,畢竟,每個人都認為他們的組合是最好的。
順便說一句,什么是MapReduce:我們需要清點圖書館里所有的書。你數書架1,我數書架2。這是地圖。我們擁有的人越多,我們就越快地數書。現在讓我們一起匯總所有的統計數據。這是減少。
火花數據處理速度輕松擊敗MapReduce
Spark比MapReduce快得多,因為它處理數據的方式不同。MapReduce通過步驟來處理數據步驟:"從集群中讀取數據,處理一次,將結果寫入集群,從集群中讀取更新后的數據,處理下一次,將結果寫入集群等。"BoozAllenHamilton的數據科學家Kirk Borne像這樣解析數據。
另一方面,Spark將在接近“實時”的時間內完成內存中的所有數據分析:“從集群中讀取數據,完成所有必要的分析和處理,將結果寫回集群,完成它,”Born說。SPark的批處理速度比MapReduce快近10倍,內存中數據分析的速度快近100倍。如果需要處理的數據和結果要求大部分是靜態的,并且您有耐心等待批處理完成,那么MapReduce是完全可以接受的。
但是,如果需要對對流數據進行分析,例如由工廠傳感器收集的數據,或者如果應用程序需要多個數據處理,則可能需要使用火花進行處理。大多數機器學習算法需要多個數據處理。此外,通常會用到Spark的應用場景有以下方面:實時的市場活動,在線產品推薦,網絡安全分析,機器日記監控等。
Recovery 恢復
災難恢復的兩種方法是完全不同的,但是它們是非常好的。因為Hadoop將處理過的數據寫入磁盤,所以它天生就能夠抵御系統錯誤。Spark的數據對象存儲在稱為彈性分布式數據集的數據集群中。“這些數據對象可以放在內存或磁盤中,因此RDD還可以提供完整的災難恢復功能。”
三、學哪個?
事實上,正如你所知,Spark是大數據行業的一顆新星。與Hadoop相比,Spark有很多優點。Hadoop在大數據行業中得到了很好的認可,主要是因為:
Hadoop解決了大數據的可靠存儲和處理問題。
Hadoop的開源,讓很多大數據從業者從中找到靈感,方便實用;
Hadoop已開發多年,具有完整的生態系統。
HDFS在普通PC上提供高可靠的文件存儲,并通過存儲多個塊副本來解決服務器或硬盤損壞的問題。
MapReduce通過簡單Mapper和Reducer的抽象提供了一個模型,它可以在數十到數百臺PC機的不可靠集群上以分布式方式處理大量數據集,同時具有并發性。計算細節,如分布式和故障恢復是隱藏的。
Hadoop也有許多局限性和缺點。一般來說,在數據量增加的情況下,Hadoop的計算速度會變得越來越困難。雖然Hadoop目前在大數據產業中的應用頻率仍然很高,但在幾年后數據量上升幾個數量級時,也不難想象Hadoop所面臨的困境。Spark的計算速度比Hadoop快1%甚至更快,因此在未來,Spark將不可避免地取代Hadoop,主宰大數據產業。
所以你可以跳過Hadoop,只需要學習火花?當然不是,原因如下:
在現階段,Hadoop仍然占據著大數據領域的主導地位,我們可以學習先進的技術,但也為了現階段的就業目的,就現階段而言,大數據必須學習Hadoop。
MapReduce有許多值得學習的經典思想,對我們理解大數據非常有幫助。
確切地說,SPark正在取代Hadoop中的MapReduce,而不是Hadoop,Hadoop是一個工具包,而SPark,就像MapReduce一樣,只是一個工具。
結論:
如果你在算法工程領域,學習Hadoop和Spark。如果你是一個大數據研究員,那么你應該精通這兩種類型。所以,這里的建議是,對于那些對ML和大數據的發展感興趣的人來說,你可以遵循Java-Hadoop-Skar的路徑。如果你有C++和SQL的基礎,學習曲線就不會特別陡峭。對于spark,學習一點scala會更有幫助。

中國· 上海

谷谷二維碼
添加微信咨詢

CopyRight?2009-2019 上海谷谷網絡科技有限公司 All Rights Reserved.  

關于我們 | 聯系我們

捕鱼平台兑换 香港马会今年开奖结果 百宝彩湖北快3走势图 3d开奖结果今天号码 黑龙江36选7开奖中奖规则 3d开奖结果陕西快乐十分 青海快三开奖结果21号 黑龙江p62开奖号码今天 重庆时时2期4码计划 浙江快乐12一定牛 新疆时时三星综合走势图