成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深度:Hadoop對Spark五大維度正面比拼報告!

大數據 Hadoop Spark
為了增加混淆,Spark和Hadoop經常與位于HDFS,Hadoop文件系統中的Spark處理數據一起工作。但是,它們都是獨立個體,每一個體都有自己的優點和缺點以及特定的商業案例。本文將從以下幾個角度對Spark和Hadoop進行對比:體系結構,性能,成本,安全性和機器學習。

每年,市場上都會出現種種不同的數據管理規模、類型與速度表現的分布式系統。在這些系統中,Spark和hadoop是獲得***關注的兩個。然而該怎么判斷哪一款適合你?

如果想批處理流量數據,并將其導入HDFS或使用Spark Streaming是否合理?如果想要進行機器學習和預測建模,Mahout或MLLib會更好地滿足您的需求嗎? 

[[231547]]

為了增加混淆,Spark和Hadoop經常與位于HDFS,Hadoop文件系統中的Spark處理數據一起工作。但是,它們都是獨立個體,每一個體都有自己的優點和缺點以及特定的商業案例。

本文將從以下幾個角度對Spark和Hadoop進行對比:體系結構,性能,成本,安全性和機器學習。

什么是Hadoop?

Hadoop在2006年開始成為雅虎項目,隨后成為***的Apache開源項目。它是一種通用的分布式處理形式,具有多個組件:

HDFS(分布式文件系統),它將文件以Hadoop本機格式存儲,并在集群中并行化;

YARN,協調應用程序運行時的調度程序;

MapReduce,實際并行處理數據的算法。

Hadoop使用Java搭建,可通過多種編程語言訪問,用于通過Thrift客戶端編寫MapReduce代碼(包括Python)。

除了這些基本組件外,Hadoop還包括:

  • Sqoop,它將關系數據移入HDFS;
  • Hive,一種類似SQL的接口,允許用戶在HDFS上運行查詢;
  • Mahout,機器學習。

除了將HDFS用于文件存儲之外,Hadoop現在還可以配置為使用S3存儲桶或Azure blob作為輸入。

它可以通過Apache發行版開源,也可以通過Cloudera(規模和范圍***的Hadoop供應商),MapR或HortonWorks等廠商提供。

什么是Spark?

Spark是一個較新的項目,最初于2012年在加州大學伯克利分校的AMPLab開發。它也是一個***Apache項目,專注于在群集中并行處理數據,但***的區別在于它在內存中運行。

鑒于Hadoop讀取和寫入文件到HDFS,Spark使用稱為RDD,彈性分布式數據集的概念處理RAM中的數據。 Spark可以以獨立模式運行,Hadoop集群可用作數據源,也可以與Mesos一起運行。在后一種情況下,Mesos主站將取代Spark主站或YARN以進行調度。

Spark是圍繞Spark Core搭建的,Spark Core是驅動調度,優化和RDD抽象的引擎,并將Spark連接到正確的文件系統(HDFS,S3,RDBM或Elasticsearch)。有幾個庫在Spark Core上運行,包括Spark SQL,它允許在分布式數據集上運行類似SQL的命令,用于機器學習的MLLib,用于圖形問題的GraphX以及允許連續流式傳輸的流式傳輸記錄數據。

Spark有幾個API。原始界面是用Scala編寫的,基于數據科學家的大量使用,還添加了Python和R端點。 Java是編寫Spark作業的另一種選擇。

Databricks由也Spark創始人Matei Zaharia創建的,致力于提供基于 Spark 的云服務,可用于數據集成,數據管道等任務

1. 架構

Hadoop

首先,所有傳入HDFS的文件都被分割成塊。根據配置的塊大小和復制因子,每個塊在整個群集中被復制指定的次數。該信息被傳遞給NameNode,它跟蹤整個集群中的所有內容。 NameNode將這些文件分配給一些數據節點,然后將這些文件寫入其中。 2012年實施高可用性,允許NameNode故障轉移到備份節點上,以跟蹤群集中的所有文件。

MapReduce算法位于HDFS之上,由JobTracker組成。一旦應用程序以其中一種語言編寫,Hadoop接受JobTracker,然后分配工作(可包括計算單詞和清理日志文件的任何內容),以便在存儲在Hive倉庫中的數據之上運行HiveQL查詢)到偵聽其他節點的TaskTracker。

YARN分配JobTracker加速并監控它們的資源,以提高效率。然后將所有來自MapReduce階段的結果匯總并寫入HDFS中的磁盤。

Spark

除了計算在內存中執行并在那里存儲直到用戶積極保存它們之外,Spark處理的工作方式與Hadoop類似。最初,Spark從HDFS,S3或其他文件存儲中的文件讀取到名為SparkContext的已建立機制。除此之外,Spark創建了一個名為RDD或彈性分布式數據集的結構,它表示一組可并行操作的元素的不可變集合。

隨著RDD和相關操作的創建,Spark還創建了一個DAG或有向無環圖,以便可視化DAG中的操作順序和操作之間的關系。每個DAG都有階段和步驟;通過這種方式,它與SQL中的解釋計劃類似。

您可以對RDD執行轉換,中間步驟,操作或最終步驟。給定轉換的結果進入DAG,但不會保留到磁盤,但操作的結果會將內存中的所有數據保留到磁盤。

Spark中的一個新抽象是DataFrames,它是在Spark 2.0中作為RDD的配套接口開發的。這兩者非常相似,但DataFrames將數據組織成命名列,類似于Python的熊貓或R包。這使得它們比RDD更方便用戶,RDD沒有類似的一系列列級標題引用。 SparkSQL還允許用戶像關系數據存儲中的SQL表一樣查詢DataFrame。

2. 性能

發現Spark在內存中運行速度快100倍,在磁盤上運行速度快10倍。在十分之一的機器上,它也被用于對100 TB數據進行排序,比Hadoop MapReduce快3倍。特別發現Spark在機器學習應用中更快,例如樸素貝葉斯和k-means。

由處理速度衡量的Spark性能已經發現比Hadoop更優,原因如下:

  • 每次運行MapReduce任務的選定部分時,Spark都不會受到輸入輸出問題的束縛。事實證明,應用程序的速度要快得多
  • Spark的DAG可以在步驟之間進行優化。 Hadoop在MapReduce步驟之間沒有任何周期性連接,這意味著在該級別不會發生性能調整。

但是,如果Spark與其他共享服務在YARN上運行,則性能可能會降低并導致RAM開銷內存泄漏。出于這個原因,如果用戶有批處理的用例,Hadoop被認為是更高效的系統。

3. 成本

Spark和Hadoop都可以作為開源Apache項目免費獲得,這意味著您可以以零安裝成本運行它。但是,重要的是要考慮總體擁有成本,其中包括維護,硬件和軟件購買以及雇用了解群集管理的團隊。內部安裝的一般經驗法則是Hadoop需要更多的磁盤內存,而Spark需要更多的內存,這意味著設置Spark集群可能會更加昂貴。此外,由于Spark是較新的系統,因此它的專家更為***,而且成本更高。另一種選擇是使用供應商進行安裝,例如Cloudera for Hadoop或Spark for DataBricks,或使用AWS在云中運行EMR / Mapreduce流程。

由于Hadoop和Spark是串聯運行的,即使在配置為在安裝Spark的情況下運行的EMR實例上,也可以將提取定價比較分離出來。對于非常高級別的比較,假設您為Hadoop選擇計算優化的EMR群集,最小實例c4.large的成本為每小時0.026美元。 Spark最小的內存優化集群每小時成本為0.067美元。因此,Spark每小時更昂貴,但對計算時間進行優化,類似的任務應該在Spark集群上花費更少的時間。

4. 安全性

Hadoop具有高度容錯性,因為它旨在跨多個節點復制數據。每個文件都被分割成塊,并在許多機器上復制無數次,以確保如果單臺機器停機,可以從別處的其他塊重建文件。

Spark的容錯主要是通過RDD操作來實現的。最初,靜態數據存儲在HDFS中,通過Hadoop的體系結構進行容錯。隨著RDD的建立,譜系也是如此,它記住了數據集是如何構建的,并且由于它是不可變的,如果需要可以從頭開始重建。跨Spark分區的數據也可以基于DAG跨數據節點重建。數據在執行器節點之間復制,如果執行器和驅動程序之間的節點或通信失敗,通常可能會損壞數據。

Spark和Hadoop都可以支持Kerberos身份驗證,但Hadoop對HDFS具有更加細化的安全控制。 Apache Sentry是一個用于執行細粒度元數據訪問的系統,是另一個專門用于HDFS級別安全性的項目。

Spark的安全模型目前很少,但允許通過共享密鑰進行身份驗證。

5. 機器學習

Hadoop使用Mahout來處理數據。 Mahout包括集群,分類和基于批處理的協作過濾,所有這些都在MapReduce之上運行。目前正在逐步推出支持Scala支持的DSL語言Samsara,允許用戶進行內存和代數操作,并允許用戶編寫自己的算法。

Spark有一個機器學習庫MLLib,用于內存迭代機器學習應用程序。它可用于Java,Scala,Python或R,包括分類和回歸,以及通過超參數調整構建機器學習管道的能力。

總結

那么它是Hadoop還是Spark?這些系統是目前市場上處理數據最重要的兩個分布式系統。 Hadoop主要用于使用MapReduce范例的大規模磁盤操作,而Spark則是一種更靈活,但成本更高的內存處理架構。兩者都是Apache的***項目,經常一起使用,并且有相似之處,但在決定使用它們時,了解每個項目的特征是非常重要的。

責任編輯:未麗燕 來源: 網絡大數據
相關推薦

2018-03-01 08:39:34

HadoopSpark加密貨幣

2009-03-05 09:21:04

敏捷開發XP開源

2020-04-28 22:14:07

自動化威脅Bots

2022-03-14 09:46:10

Hadoop大數據

2019-06-04 10:40:07

2022-06-27 10:41:32

深度學習人工智能

2010-03-25 09:58:25

大齡程序員

2010-11-24 14:51:07

2015-12-24 10:18:37

云計算戰略趨勢趨勢報告

2013-10-15 09:26:16

IT治理NASA云實踐云治理案例

2017-12-25 10:34:18

技術預測機遇

2013-12-30 10:40:12

大數據處理大數據Hadoop

2013-12-27 16:15:11

Hadoop大數據處理

2016-10-28 22:57:25

微信小程序

2011-05-09 00:19:03

Android 3.0蜂巢Android

2016-11-08 13:07:43

大數據教育行業

2016-11-07 20:38:38

大數據應用教育行業

2010-08-30 16:01:37

2012-07-13 15:07:03

iPad商用

2009-03-19 09:55:00

OFDM無線通信技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线视频观看 | 亚洲国产成人av好男人在线观看 | 成人免费视屏 | 国产成人免费视频网站高清观看视频 | 国产一级片久久久 | 亚洲中午字幕 | 少妇一级淫片免费播放 | 国产成人jvid在线播放 | 日韩成人在线免费视频 | 夜夜草| 久久国际精品 | 天天插天天狠天天透 | 国产精品久久久久久久久久久久久 | 人碰人操| 精品久久香蕉国产线看观看亚洲 | 日韩国产欧美在线观看 | 国产精品欧美一区二区 | 亚洲精品久久久一区二区三区 | 亚洲国产精品一区二区久久 | 精品国产乱码久久久久久闺蜜 | 国产精品免费福利 | 久久婷婷av | 羞羞视频在线网站观看 | 一本一道久久a久久精品综合 | 精品国产不卡一区二区三区 | 日韩美香港a一级毛片免费 国产综合av | 91看片在线观看 | 日本免费一区二区三区 | 欧美日韩精品综合 | 精品三级在线观看 | 日韩一区二区三区四区五区 | 国产成人精品免高潮在线观看 | 在线不卡视频 | 亚洲成人免费在线 | 欧美日韩一区二区电影 | 免费激情 | 久久久久国产精品午夜一区 | 欧美激情在线精品一区二区三区 | 免费看啪啪网站 | 98久久 | 久久久久国产一区二区三区四区 |