




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Apache Spark 與 Hadoop MapReduce 的五個主要區(qū)別:1、Apache Spark 可能比 Hadoop MapReduce 快 100 倍。2、Apache Spark使用內(nèi)存,并且不依賴于Hadoop的兩階段范式。3、Apache Spark適用于可以全部放入服務(wù)器內(nèi)存的較小數(shù)據(jù)集。4、Hadoop處理海量數(shù)據(jù)集更具成本效益。5、Apache Spark 現(xiàn)在比 Hadoop MapReduce 更受歡迎。多年來,Hadoop 一直是大數(shù)據(jù)無可爭議的首選 直到Spark出現(xiàn)。自2014年首次發(fā)布以來,Apache Spark 一直在點燃大 數(shù)據(jù)世界。憑借Spark
2、便捷的API和承諾的速度比Hadoop MapReduce快100倍,一些分析人士認(rèn)為,Spark標(biāo)志著大數(shù)據(jù) 新時代的到來。Spark是一個開源數(shù)據(jù)處理框架,如何能夠如此快速地處理所有這些信息?秘訣在于Spark在集群上運行在內(nèi)存中,它不依賴 于Hadoop的MapReduce兩階段范式。這使得重復(fù)訪問相同數(shù)據(jù)的速度更快。Spark可以作為獨立應(yīng)用程序運行,也可以在 Hadoop YARN之上運行,它可以直接從HDFS讀取數(shù)據(jù)。雅虎、英特爾、百度、Yelp和Zillow等數(shù)十家主要科技公司已經(jīng) 將Spark作為其技術(shù)堆棧的一部分。雖然Spark似乎注定要取代Hadoop MapReduce,
3、但您現(xiàn)在還不應(yīng)該指望MapReduce。在這篇文章中,我們將比較這兩個平臺, 看看Spark是否真的非常有優(yōu)勢。什么是 Apache Spark?Apache Spark是“用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一分析引擎”。Spark由非營利性的Apache Software Foundation維護,該基金會 已經(jīng)發(fā)布了數(shù)百個開源軟件項目。自項目啟動以來,已有1200多名開發(fā)人員為Spark做出了貢獻。Spark最初是在加州大學(xué)伯克利分校的AMPLab開發(fā)的,于2010年首次作為開源項目發(fā)布。Spark使用Hadoop MapReduce 分布式計算框架作為其基礎(chǔ)。Spark旨在改進MapReduce項目
4、的幾個方面,例如性能和易用性,同時保留MapReduce的許 多優(yōu)點。Spark包括一個核心數(shù)據(jù)處理引擎,以及用于SQL、機器學(xué)習(xí)和流處理的庫。憑借適用于Java、Scala、Python和R的API, Spark在開發(fā)人員中享有廣泛的吸引力一一為其贏得了大數(shù)據(jù)處理領(lǐng)域“瑞士軍刀”的美譽。什么是 Hadoop MapReduce?Hadoop MapReduce將自己描述為“一個用于輕松編寫應(yīng)用程序的軟件框架,該應(yīng)用程序以可靠、容錯的方式在大型商用硬件集 群(數(shù)千個節(jié)點)上并行處理大量數(shù)據(jù)(多TB數(shù)據(jù)集)?!盡apReduce范式由兩個順序任務(wù)組成:Map和Reduce(因此得名)。Map過濾
5、和排序數(shù)據(jù),同時將其轉(zhuǎn)換為鍵值對。然后, Reduce接受此輸入并通過對數(shù)據(jù)集執(zhí)行某種匯總操作來減小其大小。MapReduce可以通過分解大型數(shù)據(jù)集并并行處理它們來極大地加速大數(shù)據(jù)任務(wù)。MapReduce范式由Google員工Jeff Dean 和Sanjay Ghemawat于2004年首次提出;后來它被整合到Apache的Hadoop框架中以進行分布式處理。Spark 和 MapReduce 的區(qū)別Apache Spark和 Hadoop MapReduce之間的主要區(qū)別是:性能易于使用數(shù)據(jù)處理安全然而,Spark和MapReduce之間也有一些相似之處這并不奇怪,因為Spark使用Map
6、Reduce作為其基礎(chǔ)。Spark和MapReduce的相似點包括:成本兼容性容錯下面,我們將在每個部分詳細(xì)介紹Spark和MapReduce之間的差異(以及相似之處)。Spark VS MapReduce:性能Apache Spark在隨機存取存儲器(RAM)中處理數(shù)據(jù),而Hadoop MapReduce在執(zhí)行映射或歸約操作后將數(shù)據(jù)持久化回磁盤。 那么理論上,Spark的性能應(yīng)該優(yōu)于Hadoop MapReduce。盡管如此,Spark需要大量內(nèi)存。與標(biāo)準(zhǔn)數(shù)據(jù)庫非常相似,Spark將 進程加載到內(nèi)存中并保留在那里,直到進一步通知以進行緩存。如果您在Hadoop YARN上運行Spark和其他
7、需要資源的服務(wù), 或者如果數(shù)據(jù)太大而無法完全放入內(nèi)存,那么Spark可能會遭受嚴(yán)重的性能下降。MapReduce會在作業(yè)完成后立即終止其進程,因此它可以輕松地與性能差異很小的其他服務(wù)一起運行。對于需要多次傳遞相同數(shù)據(jù)的迭代計算,Spark具有優(yōu)勢。但是,當(dāng)涉及到類似ETL的一次性作業(yè)時一一例如,數(shù)據(jù)轉(zhuǎn)換或數(shù) 據(jù)集成一一這正是MapReduce的設(shè)計目的。小結(jié):當(dāng)所有數(shù)據(jù)都適合內(nèi)存時,Spark性能更好,尤其是在專用集群上。Hadoop MapReduce專為無法放入內(nèi)存的數(shù)據(jù)而設(shè) 計,并且可以與其他服務(wù)一起很好地運行。Spark VS Hadoop MapReduce:易用性Spark為Jav
8、a、Scala和Python提供了預(yù)構(gòu)建的API,還包括用于SQL的Spark SQL (以前稱為Shark)。由于Spark的簡 單構(gòu)建塊,編寫用戶定義的函數(shù)很容易。Spark甚至包括用于運行命令并立即反饋的交互模式。MapReduce是用Java編寫的,并且非常難以編程。Apache Pig讓它變得更容易(盡管它需要一些時間來學(xué)習(xí)語法),而Apache Hive則增加了 SQL兼容性。一些Hadoop工具也可以在沒有任何編程的情況下運行MapReduce作業(yè)。此外,雖然Hive包含命令行界面,但MapReduce沒有交互模式。Apache Impala和Apache Tez等項目希望將完整
9、的交互式 查詢引入Hadoop。在安裝和維護方面,Spark 不受 Hadoop 的約束。Spark 和 Hadoop MapReduce 都包含在 Hortonworks (HDP 3.1)和 Cloudera (CDH 5.13)的發(fā)行版中。小結(jié):Spark更易于編程,并且包含交互模式。Hadoop MapReduce更難編程,但有幾個工具可以使它更容易。Spark VS Hadoop MapReduce:成本Spark和MapReduce是開源解決方案,但您仍然需要在機器和人員上花錢。Spark和MapReduce都可以使用商品服務(wù)器并在 云上運行。此外,這兩種工具都有相似的硬件要求:S
10、park集群中的內(nèi)存至少應(yīng)該與您需要處理的數(shù)據(jù)量一樣大,因為數(shù)據(jù)必須適合內(nèi)存才能獲得最佳性能。如果您需要處理大量數(shù) 據(jù),Hadoop肯定是更便宜的選擇,因為硬盤空間比內(nèi)存空間便宜得多。另一方面,考慮到Spark和MapReduce的性能,Spark應(yīng)該更劃算。Spark需要更少的硬件來更快地執(zhí)行相同的任務(wù),尤其 是在計算能力按使用付費的云服務(wù)器上。人員配備問題呢?盡管Hadoop自2005年就已經(jīng)存在,但市場上仍然缺乏MapReduce專家。根據(jù)Gartner的一份研究報告, 57%的使用Hadoop的組織表示“獲得必要的技能和能力”是他們最大的Hadoop挑戰(zhàn)。那么這對于自2010年才出現(xiàn)的
11、Spark來說意味著什么呢?雖然它可能有更快的學(xué)習(xí)曲線,但Spark也缺乏合格的專家。好消 息是,有大量Hadoop即服務(wù)產(chǎn)品和基于Hadoop的服務(wù)(如Integrate.io自己的數(shù)據(jù)集成服務(wù)),這有助于緩解這些硬件和 人員配備要求。同時,Spark即服務(wù)選項可通過Amazon Web Services等提供商獲得。小結(jié):根據(jù)基準(zhǔn),Spark更具成本效益,但人員配備成本可能更高。Hadoop MapReduce可能會更便宜,因為可用的人員更多, 而且對于海量數(shù)據(jù)量來說可能更便宜。Spark VS Hadoop MapReduce:兼容性Apache Spark可以作為獨立應(yīng)用程序在Hado
12、op YARN或Apache Mesos內(nèi)部部署或云中運行。Spark支持實現(xiàn)Hadoop輸入 格式的數(shù)據(jù)源,因此它可以與Hadoop支持的所有相同數(shù)據(jù)源和文件格式集成。Spark還通過JDBC和ODBC與商業(yè)智能工具一起工作。底線:Spark對各種數(shù)據(jù)類型和數(shù)據(jù)源的兼容性與Hadoop MapReduce相同。Spark vs Hadoop MapReduce:數(shù)據(jù)處理Spark可以做的不僅僅是簡單的數(shù)據(jù)處理:它還可以處理圖形,它包括MLlib機器學(xué)習(xí)庫。由于其高性能,Spark可以進行實 時處理和批處理。Spark提供了一個“一刀切”的平臺供您使用,而不是在不同的平臺上拆分任務(wù),這會增加您
13、的IT復(fù)雜性。Hadoop MapReduce非常適合批處理。如果你想要一個實時選項,你需要使用另一個平臺,比如Impala或Apache Storm,而對 于圖形處理,你可以使用Apache Giraph。MapReduce曾經(jīng)有Apache Mahout用于機器學(xué)習(xí),但后來被Spark和H2O拋棄 了。小結(jié):Spark是數(shù)據(jù)處理的瑞士軍刀,而Hadoop MapReduce是批處理的突擊刀。Spark vs Hadoop MapReduce:容錯Spark具有每個任務(wù)的重試和推測執(zhí)行,就像MapReduce 一樣。盡管如此,MapReduce在這里有一點優(yōu)勢,因為它依賴于硬 盤驅(qū)動器,而不
14、是RAM。如果MapReduce進程在執(zhí)行過程中崩潰,它可以從中斷的地方繼續(xù),而Spark必須從頭開始處理。小結(jié):Spark和Hadoop MapReduce都具有良好的容錯性,但Hadoop MapReduce的容錯性稍強一些。Spark VS Hadoop MapReduce:安全性在安全性方面,與MapReduce相比,Spark沒有那么先進。事實上,Spark中的安全性默認(rèn)設(shè)置為“關(guān)閉”,這會使您容易受 到攻擊。RPC通道支持通過共享密鑰在Spark中進行身份驗證。Spark將事件日志記錄作為一項功能,并且可以通過javax servlet過濾器保護 Web UI。此外,由于Spark
15、可以運行在YARN上并使用HDFS,因此還可以享受Kerberos身份驗證、 HDFS文件權(quán)限以及節(jié)點之間的加密。Hadoop MapReduce可以享受所有Hadoop安全優(yōu)勢并與Hadoop安全項目集成,例如Knox Gateway和 Apache Sentry。旨在 提高Hadoop安全性的Project Rhino僅在添加Sentry支持方面提到了 Spark。否則,Spark開發(fā)人員將不得不自己提高Spark 的安全性。小結(jié):與具有更多安全功能和項目的MapReduce相比,Spark安全性仍然欠發(fā)達。Spark的常用場景雖然兩者都是大規(guī)模數(shù)據(jù)處理的強大選項,但某些情況下,其中一種比
16、另一種更理想。流數(shù)據(jù)處理隨著公司走向數(shù)字化轉(zhuǎn)型,他們正在尋找實時分析數(shù)據(jù)的方法。Spark的內(nèi)存數(shù)據(jù)處理使其成為處理流數(shù)據(jù)的理想選擇。Spark Streaming是Spark的一個變體,它使這個用例成為可能。那么,公司可以通過哪些方式利用Spark Streaming?流式ETL -在傳統(tǒng)的ETL過程中,數(shù)據(jù)被讀取、轉(zhuǎn)換為兼容格式并保存到目標(biāo)數(shù)據(jù)存儲中。使用Streaming ETL的過程效 率更高,因為數(shù)據(jù)在保存到目標(biāo)數(shù)據(jù)存儲之前會在內(nèi)存中不斷清理和聚合。數(shù)據(jù)豐富一一公司在嘗試適應(yīng)和提供更增強的客戶體驗時處于不斷變化的狀態(tài)。通過將實時數(shù)據(jù)與靜態(tài)數(shù)據(jù)相結(jié)合,公司可以 構(gòu)建更可靠的客戶畫像,從
17、而為他們提供個性化體驗。觸發(fā)事件檢測一一實時響應(yīng)事件的能力是一項重要的業(yè)務(wù)能力,有助于提高敏捷性和適應(yīng)變化的能力。借助Spark Streaming, 公司可以實時分析數(shù)據(jù),以識別需要立即關(guān)注的異?;顒?。機器學(xué)習(xí)在預(yù)測分析方面,Spark的機器學(xué)習(xí)庫(MLib)提供了一套強大的工具,可以輕松完成它。當(dāng)用戶對一組數(shù)據(jù)進行重復(fù)查詢時, 他們本質(zhì)上是在構(gòu)建類似于機器學(xué)習(xí)的算法。例如,機器學(xué)習(xí)可以幫助公司出于營銷目的進行客戶細(xì)分。它還可以幫助執(zhí)行情 緒分析。交互式查詢想象一下能夠?qū)崟r數(shù)據(jù)執(zhí)行交互式查詢。從本質(zhì)上講,您可以分析大型數(shù)據(jù)集,而無需依賴外部數(shù)據(jù)存儲來處理信息。使用 Spark Stream
18、ing,您可以查詢數(shù)據(jù)流,而無需將其持久化到外部數(shù)據(jù)庫。MapReduce的常用場景當(dāng)處理對于內(nèi)存中操作來說太大的數(shù)據(jù)時,MapReduce是要走的路。因此,MapReduce最適合處理大型數(shù)據(jù)集。處理大型數(shù)據(jù)集(PB或TB)考慮到實施和維護所需的時間和費用,千兆字節(jié)大小不足以證明MapReduce的合理性。希望管理PB或TB數(shù)據(jù)的組織是 MapReduce的理想選擇。以不同格式存儲數(shù)據(jù)公司可以使用MapReduce處理多種文件類型,例如文本、圖像、純文本等。由于這些文件對于內(nèi)存中的處理來說太大了,使用 MapReduce進行批處理更經(jīng)濟。數(shù)據(jù)處理MapReduce具有對大型數(shù)據(jù)集執(zhí)行基本和復(fù)
19、雜分析的強大功能。通過使用基于磁盤的存儲而不是內(nèi)存中的處理,對大型數(shù)據(jù)集 進行匯總、過濾和連接等任務(wù)的效率要高得多。Spark 與 Hadoop MapReduce 趨勢隨著公司尋找在擁擠的市場中保持競爭力的新方法,他們將需要適應(yīng)即將到來的數(shù)據(jù)管理趨勢。這些趨勢包括:XOps -使用DevOps的最佳實踐,XOps的目標(biāo)是在數(shù)據(jù)管理過程中實現(xiàn)可靠性、可重用性和可重復(fù)性。Data Fabric -作為一個架構(gòu)框架,Data Fabric的目標(biāo)是在一個無縫的數(shù)據(jù)管理平臺中結(jié)合多種類型的數(shù)據(jù)存儲、分析、處理 和安全性數(shù)據(jù)分析作為核心業(yè)務(wù)功能-傳統(tǒng)上,數(shù)據(jù)管理由一個單獨的團隊處理,該團隊分析數(shù)據(jù)并將其提供給關(guān)鍵業(yè)務(wù)領(lǐng)導(dǎo)者。然 而,一種新方法將這些數(shù)據(jù)直接交到組織領(lǐng)導(dǎo)者手中,這樣他們就可以立即訪問這些信息以進行決策。結(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 了解寵物殯葬師試題及答案的重點
- 小白鼠企業(yè)門戶網(wǎng)站系統(tǒng)的設(shè)計與實現(xiàn)
- 2024年份十一月份光子晶體EPC總承包合同帶隙穩(wěn)定性條款
- 二零二四年份二月辦公室文員合同增補智能清潔機器人條款
- 2024人力資源管理師成功者經(jīng)驗試題及答案
- 黑龍江民族職業(yè)學(xué)院《馬克思基本原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江省伊春市美溪區(qū)2025年三下數(shù)學(xué)期末聯(lián)考試題含解析
- 黑龍江省大慶市鐵人中學(xué)2025年高三第二學(xué)期年級質(zhì)量調(diào)研考試物理試題試卷含解析
- 黑龍江省牡東部地區(qū)四校聯(lián)考2025年高三物理試題第二次模擬考試試題含解析
- 黑龍江省雞西市密山市2025屆數(shù)學(xué)四下期末達標(biāo)檢測模擬試題含解析
- 人教版九上《Unit 10 Youre supposed to shake hands》作業(yè)設(shè)計
- 《防范于心反詐于行》中小學(xué)防范電信網(wǎng)絡(luò)詐騙知識宣傳課件
- 大象版小學(xué)科學(xué)新版四年級上冊科學(xué)實驗記錄單
- 2021版十八項醫(yī)療質(zhì)量安全核心制度附流程圖
- 神經(jīng)內(nèi)科護理教學(xué)查房護理病歷臨床病案
- TCASME 1525-2024 工業(yè)用甲縮醛
- 《證券投資學(xué)》全套教學(xué)課件
- 2輸變電工程施工質(zhì)量驗收統(tǒng)一表式(變電工程土建專業(yè))-2024年版
- 2024年浙江省中考?xì)v史真題(解析版)
- 洗地機產(chǎn)品營銷計劃書
- 火麻種子生產(chǎn)技術(shù)規(guī)程
評論
0/150
提交評論