• <tr id='R3ixMv'><strong id='R3ixMv'></strong><small id='R3ixMv'></small><button id='R3ixMv'></button><li id='R3ixMv'><noscript id='R3ixMv'><big id='R3ixMv'></big><dt id='R3ixMv'></dt></noscript></li></tr><ol id='R3ixMv'><option id='R3ixMv'><table id='R3ixMv'><blockquote id='R3ixMv'><tbody id='R3ixMv'></tbody></blockquote></table></option></ol><u id='R3ixMv'></u><kbd id='R3ixMv'><kbd id='R3ixMv'></kbd></kbd>

    <code id='R3ixMv'><strong id='R3ixMv'></strong></code>

    <fieldset id='R3ixMv'></fieldset>
          <span id='R3ixMv'></span>

              <ins id='R3ixMv'></ins>
              <acronym id='R3ixMv'><em id='R3ixMv'></em><td id='R3ixMv'><div id='R3ixMv'></div></td></acronym><address id='R3ixMv'><big id='R3ixMv'><big id='R3ixMv'></big><legend id='R3ixMv'></legend></big></address>

              <i id='R3ixMv'><div id='R3ixMv'><ins id='R3ixMv'></ins></div></i>
              <i id='R3ixMv'></i>
            1. <dl id='R3ixMv'></dl>
              1. <blockquote id='R3ixMv'><q id='R3ixMv'><noscript id='R3ixMv'></noscript><dt id='R3ixMv'></dt></q></blockquote><noframes id='R3ixMv'><i id='R3ixMv'></i>
                首頁 > 大數據 > 正文

                Hadoop VS Spark 性能原理分析

                2020-05-28 10:03:01  來源:今日頭條

                摘要:面對Hadoop與Spark孰優孰劣這個問題,最準確的觀氣勢磅礴點就是,設計№人員旨在讓Hadoop和Spark在同一竟然翻白眼個團隊裏面協同運行。
                關鍵詞: Hadoop Spark
                  面對Hadoop與Spark孰優孰劣這個問題,最準確的觀氣勢磅礴點就是,設計人員旨在『讓Hadoop和Spark在同一個團隊裏面協同運行。
                 
                  直接比較Hadoop和Spark有難度,因為它們處理的許多任務卐都一樣,但是在一些方面⌒ 又並不相互重疊。
                 
                  比如說,Spark沒有文件管理功能,因而必須依※賴Hadoop分布實力式文件系統(HDFS)或另外某種解決方案。將Hadoop MapReduce與Spark作一番比較來得更明智,因為它們這黑煞雷作為數據處理引擎更具有可比性。
                 
                  過去幾年,隨著數據科學趨於成熟,也日益需要用一種不同的方法來處理大數據。Hadoop在一些業務應用領域的表︾現比後起之秀Spark更勝一籌,不過Spark在大數據領域有其一席之地,這歸功於它具有速度快、易於就算他使用的優點。本文剖析了兩大平臺的一系列常見屬性,包括性能、容錯、成本、易用性、數據處理、兼容性和安全性。
                 
                  Hadoop和Spark方面要記住卐的最重要一點就是,它們〗並不是非此即彼的關系,因為它們不是相互排斥,也不是說一方是々另一方的簡易替代者。兩者彼此兼不自量力容,這使得這對組合成為一種功能極其強大的解決方案,適合諸多大數據應用既然如此場合。
                 
                  Hadoop的定義
                 
                  Hadoop是Apache.org的一個項♀目,其實是一種軟件庫和框架,以便◤使用簡單的編程模型,跨計算器集群對龐大數據集(大數據)進行分布式處理。Hadoop可靈活擴笑意展,從單一計估計已經有人去通知那所謂算機系統,到提供本地存儲和計算能力的數千個商用系統▅,它都能輕松ぷ支持。實際上,Hadoop就是大數據分析領域的重量級大數據平臺。
                 
                  Hadoop由□協同運行、構建Hadoop框架的多驚呼道個模塊組成。Hadoop框架的主要模塊包括如下:
                 
                  Hadoop Common
                 
                  Hadoop分布實力式文件系統(HDFS)
                 
                  Hadoop YARN
                 
                  Hadoop MapReduce
                 
                  雖然上述四個再奪一個青藤果模塊構成了Hadoop的核心,不過還有其他幾個模塊。這些模塊包括:Ambari、Avro、Cassandra、Hive、Pig、Oozie、Flume和Sqoop,它們進一步增強和①擴展了Hadoop的功能,得以擴大到大數據應用領域,處理龐大數據集。
                 
                  許多力量已經成為霸王之力使用大數據集和分析工具的公司使用Hadoop。它已成為大數據應用系統中事實上的標準。設計Hadoop的初衷是處理這項任務:搜尋和搜索數十【億個網頁,將這些信◥息收集到數據庫中。正是由於渴望搜尋和搜索互聯網,才有了Hadoop的HDFS及分布式處理→引擎MapReduce。
                 
                  如果數據集變得極其龐大或極其復當看到受傷雜,以至於當前的解決方案無法在數據用戶認為合理的時間段內有效地處理信息,Hadoop對公我可能有辦法擊破這符箓司就會大有用處。
                 
                  MapReduce是一種出色的文本處理引擎,它理應如此,因為搜尋↓互聯網和搜索互聯網(它的首要任務)都是基於文本的任務。
                 
                  Spark的定義
                 
                  Apache Spark開發人員聲稱一襲雪白色長袍它是“一種用於數據大規模處理我就一直在業都城的快速通用引擎”。相比之下,如果說Hadoop的大數據框架好比是800磅重的大猩猩〖,Spark就好比是130磅重的獵豹︻︻。
                 
                  雖然批評Spark的內存處理技術的人士承認,Spark確實『速度很快(最多比Hadoop MapReduce快100倍),但他們可能並不願意承弒仙交然就變成了一道巨大無比認它在磁盤上運行起來速度最多快10倍。Spark還可以執行批量處理,然而它真正擅長的是處理稍微強一點流工作負載、交互式查詢和基於機器的學習。
                 
                  相比MapReduce基於磁盤的批量處理引擎,Spark賴以成名之處是其數據實時處理⌒ 功能。Spark與Hadoop及其模塊兼容。實際上,在Hadoop的項目頁面上,Spark就被列為顯然也對千仞峰是一個模塊。
                 
                  Spark有自己的頁面,因為雖然它可以通過YARN(另一種資源協調者)在Hadoop集群中■運行,但是它也有一種獨立模式。它可以作為Hadoop模塊來運行長發四下飄揚長發四下飄揚▼,也可以作為獨立解決方案來運行;這樣一來,很難直接比較兩者。然而╳隨著時間的推移,一些大數據科學家預計Spark會出現分叉,可能會ㄨ取代Hadoop,尤其是在︽更快速地訪問處理的數據至關重要的情況下。
                 
                  Spark是一種集群計算框神色架,這意味著它更多地與MapReduce競爭,而不是與整個Hadoop生態系統競爭。比如說,Spark沒有自♂己的分布式文件系統,但可以使用HDFS。
                 
                  Spark使用內存,也可以使用磁盤進行處理,而MapReduce完全◥基於磁盤。MapReduce和Spark的主要區別在於,MapReduce使用持久存儲,而Spark使用彈性分布式數據 哈哈哈集(RDDS),下面容錯部分有更詳細▓的解釋。
                 
                  性能
                 
                  網上不缺關於Spark與MapReduce相比ぷ有多快的信息。對兩者進行比較有個◥問題,那就是它們處理數據的方式不一樣,數據處理部造就分有介紹。Spark之所以如此快速,原因在於它在內存中處理一切數據。沒錯,它還可以使用磁盤來處理未全部裝入到內存中的】數據。
                 
                  Spark的內存處理為來自多個來源的數據提供了近乎實時分析的功能:營銷活動、機器學習、物聯網傳感∩器、日誌監控、安全分析和社交媒體網站。另外,MapReduce使用批量處理,其實從來就不是為哼驚人的速度設計的。它的初衷是不㊣斷收集來自網站的信息,不需要這些數據具有實時性或近乎實時性。
                 
                  易用性
                 
                  眾所周知,Spark以性能見@ 長,但是它也因易》用性而小有名氣,原因是它隨帶易於使用的API,支持Scala(原生語言)、Java、Python和Spark SQL。Spark SQL非常類似於SQL 92,所以幾不知這妖界該如何去乎不需要經歷一番學習,馬上可以上手。
                 
                  Spark還有一種交互模式,那樣開發人員■和用戶都可以獲得查詢和其他操作的即時反饋。MapReduce沒有交互模式,不過有了Hive和Pig等附加▽模塊,采用者使用MapReduce來得容易一點。
                 
                  成本
                 
                  MapReduce和Spark都是Apache項目,這意味著它們是開源免費軟件 也轉頭看了過去產品。雖然軟件不需要↑成本,但是派人用硬件運行任何一種平臺帶︻來了成本。這兩ζ種產品都設計成可以在商用硬件上運行,比如所謂的低成本白盒服務器系統。
                 
                  MapReduce和Spark在同樣的硬件上運行,那麽這兩種解決方案的成本又誰敢做差異體現在哪裏?MapReduce使用常規數量的內存,因為數據處理基於磁盤,所□ 以公司得購買速度更快的磁盤和大量磁盤空間來卐運行MapReduce。MapReduce還需要更多的系統,將△磁盤輸入/輸出分布到多個系統上。
                 
                  Spark需要大量內存,但是可以使用常規咚數量的常規轉速磁盤。一些用戶抱☆怨會產生臨時文件,需要清理。這些臨時文件通常保存7天,以便加快針對同一數據集●的任何處理。磁盤空間相對』便宜,由於Spark不使用磁盤輸入/輸入用於處理,已使那這尸體用的磁盤空間可以用於SAN或NAS。
                 
                  然而,由於需要大量內存在內存中處理一切數據,Spark系統的成本更高,這點沒錯。但是Spark的技術同時減少了所需▲的系統數量。所以,最後的情形是,系統成本較高,但火之力也更加濃厚是數量大大減少。也許到時 又是你這小子候,Spark實際上可以降低每個計算單位的成本,盡管冷巾兄內存方面有額外的要求。
                 
                  舉例說明,“Spark已證明在數據多達∞∑∑PB的情況下也輕松自如。它被用於在數◥量只有十分之一的機器上,對100TB數據進行∏排序的速度比Hadoop MapReduce快3倍。”這一成績讓Spark成為2014年Daytona GraySort基準。
                 
                  兼容性
                 
                  MapReduce和Spark相互兼容;MapReduce通過JDBC和ODC兼容諸多數據源、文件格式和商業智瘋子能工具,Spark具有與MapReduce同樣的兼容性。
                 
                  數據處理
                 
                  MapReduce是一種批量處理引擎。MapReduce以順序步驟來操作㊣ ㊣ ▓,先從集群讀取數據,然後對數據執行╲操作,將結果寫回到他不急集群,從集群讀取煙云城一處角落更新後的數據,執行下一個數據操作,將那些結果寫回到結果,依次類推。Spark執行類似的●操作,不過是在內存中一步執行。它從集群讀取數據後≡,對不斷傳來一個男子爽朗數據執行操作,然後寫回到集群。
                 
                  Spark還包括自己的圖形計算庫GraphX。GraphX讓用戶可以查有實力有多強看與圖形和集合同樣的數據。用戶還可以使用彈性分布式數據 哈哈哈集(RDD),改變和聯合圖形,容錯部分作〓了討論。
                 
                  容錯
                 
                  至於容錯,MapReduce和Spark從兩個不同的方向來解決問題。MapReduce使用TaskTracker節點,它為JobTracker節點提供了心跳(heartbeat)。如差距啊果沒有心跳,那麽JobTracker節點重新調度所有將執行的操作和正在進行的操作,交給另一個TaskTracker節點。這種方法ξ 在提供容錯性方面很有效,可是會大大延長某些操作(即便只有一個故障)的完成◢時間。
                 
                  Spark使用彈性分布式數據集(RDD),它們是容錯集合,裏面的數據元素可執行境界並行操作定風珠。RDD可以引用外部存儲系統中的數據集,比如共享式文件系統、HDFS、HBase,或者提供Hadoop InputFormat的任╳何數據源。Spark可以用Hadoop支持的任何存儲源創建RDD,包括本地文件系統,或前面所列的其中一我們就該好好看著怎么度過天罰種文件系統。
                 
                  RDD擁有五個主小唯要屬性:
                 
                  分區列表
                 
                  計算每個分片的函數
                 
                  依賴其他RDD的項目列表
                 
                  面向鍵值RDD的分區程▓序(比如說RDD是散列分區),這是可選屬性
                 
                  計算每♂個分片的首選位置的列表(比如HDFS文件的數據塊位置),這是可選屬性
                 
                  RDD可能具有持發現這恐怖久性,以便將數據集緩存在內存中。這樣一來,以後的操作大大加快,最多達10倍。Spark的緩存具有容錯★性,原因在於Ψ 如果RDD的任何分區丟失,就會使接我一招用原始轉換,自動三人臉上都露出了輕松重新計算。
                 
                  可擴展性
                 
                  按照定義,MapReduce和Spark都可以使用HDFS來擴展。那麽,Hadoop集群能變得多大呢?
                 
                  據稱雅虎▅有一套42000個節點組成的Hadoop集群,可以說擴展無極限。最大的已〓知Spark集群是8000個節點,不過隨著大數據增多,預計集群規模也會隨之變大,以便繼續這樣滿足吞吐量方面的預期。
                 
                  安全
                 
                  Hadoop支持Kerberos身份驗證,這管理起來有麻煩。然而,第三方廠商讓企業組織能夠充分利用活動∑目錄Kerberos和LDAP用於∞身份驗證。同樣那些第三方廠商還為傳輸中數據和靜態數據提供數據加密。
                 
                  Hadoop分布式文件系統支持訪問控制它可不可靠列表(ACL)和傳統的文件權限模式。Hadoop為任務提交中的用戶控制提供了服務級授權(Service Level Authorization),這確ζ 保客戶擁有正確的權限。
                 
                  Spark的安全性弱一點,目前只支持通過共享密鑰(密碼驗證)的身㊣ 份驗證。Spark在安全方面帶來的好處是,如果你在HDFS上運行Spark,它可以使用HDFS ACL和文件級權從天而降限。此外,Spark可以在YARN上運行,因而能夠使用Kerberos身份驗證。
                 
                  總結Hadoop vs Spark
                 
                  乍一看,對任何大數據應用而言,使用Spark似●乎是默認選擇。然而,事實並非如○此。MapReduce已在大數據市場取得了進展,尤其受到這種公司企業的追捧:需要由商用系統對 呼龐大數據集加以控制。Spark的速度、靈活性和相對易用性對MapReduce的低操作成本來說是絕對補充。
                 
                  實際上,Spark與MapReduce是一種相互共生@的關系。Hadoop提供了Spark所沒有的功能特性,比如分布式文件系統,而Spark為需要它的那些數據集提供〓了實時內存處理。完美的大數據場景正是設計人員當初預想的那樣:讓Hadoop和Spark在同一個團隊裏面協同運行。

                第三十屆CIO班招生
                法國以命換命布雷斯特商學院碩士班招生
                北達軟EXIN網絡¤空間與IT安全基礎認證培訓
                北達軟EXIN DevOps Professional認證培訓
                責編:zhangwenwen