Spark PK Hadoop 誰是贏家?

數據已經從四面八方包圍了我們的生活。隨著每兩年數據量增加一倍,數字宇宙正在快速追趕物理宇宙。據估計,到2020年,數字宇宙將達到44 ZB,與宇宙中的恆星一樣多。


Spark PK Hadoop 誰是贏家?

數據正在增加,我們不會很快消除它。為了消化所有這些數據,市場上有越來越多的分佈式系統。在這些系統中,Hadoop和Spark通常彼此直接競爭。

在確定這兩個框架中的哪一個最適合您時,根據一些基本參數進行比較非常重要。

性能

Spark快如閃電,並且發現它的性能優於Hadoop框架。Spark在內存中的運行速度比Hadoop快100倍,在磁盤上的運行速度快 10倍。而且技術人員發現,使用10倍以下的機器,Spark對100 TB數據進行排序的用時只有Hadoop的三分之一。

Spark PK Hadoop 誰是贏家?

Spark之所以快,是因為它處理內存中的所有內容。得益於Spark的內存處理功能,它可以對來自營銷活動,IoT傳感器,機器學習和社交媒體站點的數據進行實時分析。

但是,如果Spark和其他共享服務一起在YARN上運行,其性能可能會下降。這可能會導致RAM開銷內存洩漏。另一方面,Hadoop則可以輕鬆處理這類問題。如果用戶傾向於批處理,則Hadoop比Spark效率更高。

底線:Hadoop和Spark都有不同的處理方式。因此,在Hadoop與Spark的性能之戰中,是否繼續使用Hadoop或Spark完全取決於項目的需求。

Facebook及其使用Spark框架的過渡之旅

Facebook上的數據每過一秒就會增加。為了處理這些數據並使用它做出明智的決定,Facebook使用了分析功能。為此,它利用了以下多個平臺:

  • Hive平臺執行Facebook的一些批處理分析。
  • 用於自定義MapReduce實現的Corona平臺。
  • Presto足跡,用於基於ANSI-SQL的查詢。

上面討論的Hive平臺在計算上是“資源密集型”的。因此,維護它是一個巨大的挑戰。因此,Facebook決定改用Apache Spark框架來管理其數據。如今,Facebook通過集成Spark為實體實現了更快的數據處理。

Spark PK Hadoop 誰是贏家?

安全

Spark的安全性仍有待提升,因為它目前僅支持通過共享機密進行身份驗證(密碼身份驗證)。甚至Apache Spark的官方網站都聲稱:“存在許多不同類型的安全問題。Spark不一定能抵禦一切。”

另一方面,Hadoop具有以下安全功能:Hadoop身份驗證,Hadoop授權,Hadoop審核和Hadoop加密。所有這些都與Hadoop安全項目(如Knox Gateway和Sentry)集成在一起。

在Hadoop與Spark安全性之戰中,Spark的安全性比Hadoop低。但是,在將Spark與Hadoop集成時,Spark可以使用Hadoop的安全功能。

成本

首先,Hadoop和Spark都是開源框架,因此是免費提供的。兩者都使用商品服務器,在雲上運行,並且對硬件的要求似乎有些相似:

Spark PK Hadoop 誰是贏家?

那麼,如何根據成本進行評估呢?

請注意,Spark利用大量RAM來運行內存中的所有內容。考慮到RAM的價格比硬盤高,這可能會影響成本。

另一方面,Hadoop是磁盤綁定的。因此,節省了購買昂貴的RAM的成本。但是,Hadoop需要更多系統來分發磁盤I / O。

因此,在比較Spark和Hadoop框架的成本參數時,使用者將不得不考慮其需求。

如果需求傾向於處理大量的大歷史數據,則Hadoop是首選,因為硬盤空間的價格要比內存空間便宜得多。

另一方面,當我們處理實時數據選項時,Spark可能具有成本效益,因為它使用較少的硬件以更快的速度執行相同的任務。

底線:在Hadoop與Spark的成本戰中,Hadoop的成本肯定更低,但是當使用者必須處理少量實時數據時,Spark具有成本效益。

使用方便

Spark框架最大的優點之一是其易用性。Spark具有適用於Scala,Java,Python和Spark SQL用戶的友好且舒適的API。

Spark的簡單構建使編寫用戶定義的函數變得容易。此外,由於Spark允許批處理和機器學習,因此簡化數據處理基礎結構變得容易。它甚至包括一種交互式模式,用於運行具有即時反饋的命令。

Hadoop是用Java編寫的,在沒有交互模式的情況下編寫程序有困難。儘管Pig(附加工具)使編程更容易,但它需要一些時間來學習語法。

底線:在Hadoop與Spark的“易用性”之戰中,兩者都有自己的使用戶友好的方法。但是,如果我們必須選擇一個,Spark更容易編程,並且包含交互模式。

Apache Hadoop和Spark是否可能具有協同關係?

是的,這很有可能,我們建議您這樣做。讓我們詳細瞭解它們如何協同工作。

Apache Hadoop生態系統包括HDFS,Apache Query和HIVE。讓我們看看Apache Spark如何利用它們。

Apache Spark和HDFS的合併

Apache Spark的目的是處理數據。但是,為了處理數據,引擎需要從存儲中輸入數據。為此,Spark使用HDFS。(這不是唯一的選擇,而是最受歡迎的選擇,因為Apache是兩者背後的大腦)。

Apache Hive和Apache Spark的融合

Apache Spark和Apache Hive具有高度的兼容性,因為它們可以一起解決許多業務問題。

例如,假設一家企業正在分析消費者行為。現在,該公司將需要從各種來源收集數據,例如社交媒體,評論,點擊流數據,客戶移動應用程序等等。

該組織可以利用HDFS來存儲數據,並使用Apache配置單元作為HDFS和Spark之間的橋樑。

為了處理消費者數據,大多數公司使用Spark和Hadoop的組合。

Q:Hadoop與Spark:贏家是……

A:儘管Spark快速且易於使用,但Hadoop具有強大的安全性,龐大的存儲容量和低成本的批處理功能。從兩個中選擇一個完全取決於您的項目要求。兩者的結合將產生更優的效果。

-End-

以上內容轉載自:海牛大數據


分享到:


相關文章: