Hadoop和Spark是目前大數(shù)據(jù)的兩大架構(gòu)系統(tǒng),很多人都喜歡將二者進行比較。但是中培偉業(yè)《大數(shù)據(jù)平臺搭建與高性能計算最佳實踐》培訓(xùn)專家鐘老師表示,在當(dāng)前的情況下,簡單地將Hadoop和Spark進行比較甚至二選一是不明智的。
鐘老師認(rèn)為,直接比較Hadoop和Spark有難度,因為它們處理的許多任務(wù)都一樣,但是在一些方面又并不相互重疊。
比如說,Spark沒有文件管理功能,因而必須依賴Hadoop分布式文件系統(tǒng)(HDFS)或另外某種解決方案。將Hadoop MapReduce與Spark作一番比較來得更明智,因為它們作為數(shù)據(jù)處理引擎更具有可比性。
過去幾年,隨著數(shù)據(jù)科學(xué)趨于成熟,也日益需要用一種不同的方法來處理大數(shù)據(jù)。Hadoop在一些業(yè)務(wù)應(yīng)用領(lǐng)域的表現(xiàn)比后起之秀Spark更勝一籌, 不過Spark在大數(shù)據(jù)領(lǐng)域有其一席之地,這歸功于它具有速度快、易于使用的優(yōu)點。本文剖析了兩大平臺的一系列常見屬性,包括性能、容錯、成本、易用性、 數(shù)據(jù)處理、兼容性和安全性。
Hadoop和Spark方面要記住的最重要一點就是,它們并不是非此即彼的關(guān)系,因為它們不是相互排斥,也不是說一方是另一方的簡易替代者。兩者彼此兼容,這使得這對組合成為一種功能極其強大的解決方案,適合諸多大數(shù)據(jù)應(yīng)用場合。
乍一看,對任何大數(shù)據(jù)應(yīng)用而言,使用Spark似乎是默認(rèn)選擇。然而,事實并非如此。MapReduce已在大數(shù)據(jù)市場取得了進展,尤其受到這種公司企業(yè)的追捧:需要由商用系統(tǒng)對龐大數(shù)據(jù)集加以控制。Spark的速度、靈活性和相對易用性對MapReduce的低操作成本來說是絕對補充。
實際上,Spark與MapReduce是一種相互共生的關(guān)系。Hadoop提供了Spark所沒有的功能特性,比如分布式文件系統(tǒng),而Spark 為需要它的那些數(shù)據(jù)集提供了實時內(nèi)存處理。完美的大數(shù)據(jù)場景正是設(shè)計人員當(dāng)初預(yù)想的那樣:讓Hadoop和Spark在同一個團隊里面協(xié)同運行。