Spark 和 Hadoop 是朋友不是敵人

oschina發表於2015-07-14

  6月15日,IBM 宣佈計劃大規模投資 Spark 相關技術,此項宣告會促使越來越多的工程師學習 Spark 技術,並且大量的企業也會採用 Spark 技術。

  Spark 投資的良性迴圈會使 Spark 技術發展更加成熟,並且可以從整個大資料環境中獲益。然而,Spark 的快速增長給人們一個奇怪且固執的誤解:Spark 將取代 Hadoop,而不是作為 Hadoop 的補充。這樣的誤解可以從類似“旨在比下 Hadoop 的新軟體”和“企業將放棄大資料技術 Hadoop”的標題中看出來。

  作為一個長期的大資料實踐者,雅虎投資 Hadoop 的早期倡導者,一個為企業提供大資料服務的公司的 CEO ,我想在這篇文章中提出幾個明確的觀點。

  Spark 和 Hadoop 會和諧相處。

  越來越多的企業選擇 Hadoop 做大資料平臺,而 Spark 是執行於 Hadoop 頂層的記憶體處理方案。Hadoop 最大的使用者 —— 包括 eBay 和雅虎 —— 都在 Hadoop 叢集中執行著 Spark。Cloudera 和 Hortonworks 將 Spark 列為他們 Hadoop 發行的一部分。自從我們推出 Spark 之後,使用者一直在使用著 Spark。

  將 Spark 置於和 Hadoop 對立的位置,就好像是說你的新電動汽車看起來很高階,所以你的車就不需要充電一樣。如果電動汽車真的普及的話,那隻會帶來更多的用電需求。

  為什麼這麼迷惑呢?現在的 Hadoop 包括兩個主要的元件。第一個是大規模儲存系統,叫做 Hadoop Distributed File System (HDFS),它以低功耗、高效能的方式儲存資料,並且能優化大資料的種類和讀取速度。第二個是一個計算引擎,叫做 YARN,它能在儲存在 HDFS 上的資料頂層執行大規模並行程式。

  YARN 可以承載任何數量的程式框架。原始的框架是 MapReduce,它由谷歌發明,用於處理大規模頁面抓取。Spark 是另一個類似的框架,另一個新的框架叫做 Tez。當人們談論 Spark“幹掉”Hadoop 時,他們往往指的是程式設計師更喜歡將 Spark 用在老的 MapReduce 框架上。

  然而,MapReduce 不等同於 Hadoop。MapReduce 只是 Hadoop 叢集處理資料的多種方式之一。Spark 可以是替代品。說得更寬點,商業分析師 —— 持續增長的大資料從業者 —— 會避免使用這兩個對於程式設計師來說十分低端的框架。相反,他們會使用更高階的語言,例如 SQL ,來讓 Hadoop 更容易訪問。

  在過去的四年中,基於 Hadoop 的大資料技術達到了前所未有的創新水平。我們已經從 SQL 批處理轉向互動:從單一框架(MapReduce)轉到多框架(MapReduce、Spark 等等)。

  我們已經看到了 HDFS 優異的效能和安全性的改善,並且我們還看到了頂層工具的井噴 , 例如 DatameerH20Tableau。大量不同領域的資料科學家和商業使用者使這些大資料工具變得更為易用。

  Spark 對於 Hadoop 來說不是挑戰,也不是來取代 Hadoop 的。相反,Hadoop 是 Spark 成長髮展的基礎。我們希望兩個組織都能有長足的發展,並且成為將資料資產轉化為可執行商業計劃的最有活力的平臺。

  Via:TechCrunch

相關文章