溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spark VS Hadoop 兩大大數(shù)據(jù)分析系統(tǒng)深度解讀

發(fā)布時間:2020-07-31 14:10:55 來源:網(wǎng)絡(luò) 閱讀:397 作者:景龍Edward 欄目:大數(shù)據(jù)

大數(shù)據(jù),無論是從產(chǎn)業(yè)上,還是從技術(shù)上來看,都是目前的發(fā)展熱點。在中國,政府控制著80%的數(shù)據(jù),剩下的多由“BAT”這樣的大公司擁有,中小企業(yè)如何構(gòu)建自己的大數(shù)據(jù)系統(tǒng)?其他企業(yè)如何建設(shè)自己的大數(shù)據(jù)系統(tǒng)?

 

推薦兩大應(yīng)用最廣泛、國人認知最多的Apache開源大數(shù)據(jù)框架系統(tǒng):spark  Hadoop

 

Spark速度快、易于使用
Spark以性能見長,但是它也因易用性而小有名氣,原因是它隨帶易于使用的API,支持Scala(原生語言)、Java、Python和Spark SQL。SparkSQL非常類似于SQL 92,所以幾乎不需要經(jīng)歷一番學(xué)習(xí),馬上可以上手。

Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的并行計算框架,Spark基于map reduce算法實現(xiàn)的分布式計算,擁有HadoopMapReduce所具有的優(yōu)點;但不同于MapReduce的是Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機器學(xué)習(xí)等需要迭代的map reduce的算法。

Spark還有一種交互模式,那樣開發(fā)人員和用戶都可以獲得查詢和其他操作的即時反饋。MapReduce沒有交互模式,不過有了Hive和Pig等附加模塊,采用者使用MapReduce來得容易一點。

成本上來看:Spark需要大量內(nèi)存,但是可以使用常規(guī)數(shù)量的常規(guī)轉(zhuǎn)速磁盤。一些用戶抱怨會產(chǎn)生臨時文件,需要清理。這些臨時文件通常保存7天,以便加快針對同一數(shù)據(jù)集的任何處理。磁盤空間相對便宜,由于Spark不使用磁盤輸入/輸入用于處理,已使用的磁盤空間可以用于SAN或NAS。

容錯上:Spark使用彈性分布式數(shù)據(jù)集(RDD),它們是容錯集合,里面的數(shù)據(jù)元素可執(zhí)行并行操作。RDD可以引用外部存儲系統(tǒng)中的數(shù)據(jù)集,比如共享式文件系統(tǒng)、HDFS、HBase,或者提供Hadoop InputFormat的任何數(shù)據(jù)源。Spark可以用Hadoop支持的任何存儲源創(chuàng)建RDD,包括本地文件系統(tǒng),或前面所列的其中一種文件系統(tǒng)。

 

Hadoop:分布式文件系統(tǒng)

Hadoop是Apache.org的一個項目,其實是一種軟件庫和框架,以便使用簡單的編程模型,跨計算器集群對龐大數(shù)據(jù)集(大數(shù)據(jù))進行分布式處理。Hadoop可靈活擴展,從單一計算機系統(tǒng),到提供本地存儲和計算能力的數(shù)千個商用系統(tǒng),它都能輕松支持。實際上,Hadoop就是大數(shù)據(jù)分析領(lǐng)域的重量級大數(shù)據(jù)平臺。

Hadoop由協(xié)同運行、構(gòu)建Hadoop框架的多個模塊組成。Hadoop框架的主要模塊包括如下:

HadoopCommon

Hadoop分布式文件系統(tǒng)(HDFS)

HadoopYARN

HadoopMapReduce

雖然上述四個模塊構(gòu)成了Hadoop的核心,不過還有其他幾個模塊。這些模塊包括:Ambari、Avro、Cassandra、Hive、Pig、Oozie、Flume和Sqoop,它們進一步增強和擴展了Hadoop的功能,得以擴大到大數(shù)據(jù)應(yīng)用領(lǐng)域,處理龐大數(shù)據(jù)集。

許多使用大數(shù)據(jù)集和分析工具的公司使用Hadoop。它已成為大數(shù)據(jù)應(yīng)用系統(tǒng)中事實上的標準。設(shè)計Hadoop的初衷是處理這項任務(wù):搜尋和搜索數(shù)十億個網(wǎng)頁,將這些信息收集到數(shù)據(jù)庫中。正是由于渴望搜尋和搜索互聯(lián)網(wǎng),才有了Hadoop的HDFS及分布式處理引擎MapReduce。

成本上:MapReduce使用常規(guī)數(shù)量的內(nèi)存,因為數(shù)據(jù)處理基于磁盤,所以公司得購買速度更快的磁盤和大量磁盤空間來運行MapReduce。MapReduce還需要更多的系統(tǒng),將磁盤輸入/輸出分布到多個系統(tǒng)上。

容錯上:MapReduce使用TaskTracker節(jié)點,它為JobTracker節(jié)點提供了心跳(heartbeat)。如果沒有心跳,那么JobTracker節(jié)點重新調(diào)度所有將執(zhí)行的操作和正在進行的操作,交給另一個TaskTracker節(jié)點。這種方法在提供容錯性方面很有效,可是會大大延長某些操作(即便只有一個故障)的完成時間。

 

總結(jié):Spark與MapReduce是一種相互共生的關(guān)系。Hadoop提供了Spark所沒有的功能特性,比如分布式文件系統(tǒng),而Spark為需要它的那些數(shù)據(jù)集提供了實時內(nèi)存處理。完美的大數(shù)據(jù)場景正是設(shè)計人員當(dāng)初預(yù)想的那樣:讓Hadoop和Spark在同一個團隊里面協(xié)同運行。

 

作者:張景龍  暢移(上海)信息科技有限公司CTO,CCFYOCSEF上海委員,京東今夜酒店特價app技術(shù)奠基人和首任CTO,中國第一代智能手機開發(fā)者。


向AI問一下細節(jié)
推薦閱讀:
  1. 1.spark簡介
  2. 初識Spark

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI