Spark 在 6 月份取得了激動人心的成績。在圣何塞舉辦的 Hadoop 峰會上,Spark 成了人們經(jīng)常提及的話題和許多演講的主題。IBM 還在 6 月 15 號宣布,將對 Spark 相關(guān)的技術(shù)進行巨額投資。
這一聲明幫助推動了舊金山Spark 峰會的召開。在這里,人們會看到有越來越多的工程師在學(xué)習(xí) Spark,也有越來越多的公司在試驗和采用 Spark。
對 Spark 的投資和采用形成了一個正向循環(huán),迅速推動這一重要技術(shù)的成熟和發(fā)展,讓整個大數(shù)據(jù)社區(qū)受益。然而,人們對 Spark 的日益關(guān)注讓一些人產(chǎn)生了奇怪、固執(zhí)的誤解:即 Spark 能取代 Hadoop,而不是對 Hadoop 的補充。這一誤解從《公司紛紛拋棄大數(shù)據(jù)技術(shù) Hadoop 》這樣的新聞標題上就能看出來。
作為大數(shù)據(jù)長期踐行者、現(xiàn)任大數(shù)據(jù)即服務(wù)公司首席執(zhí)行官,我想就這一誤解發(fā)表看法,進行一些澄清。
Spark 和 Hadoop 配合得很好。
Hadoop 正日益成為公司處理大數(shù)據(jù)的企業(yè)平臺之選。Spark 則是運行在 Hadoop 之上的內(nèi)存中處理解決方案。Hadoop 最大的用戶(包括易趣和雅虎)都在自己的 Hadoop 集群中運行 Spark。Cloudera 和 Hortonworks 在其 Hadoop 包中也加入了 Spark。我們 Altiscale 的客戶在我們最開始推出時就使用運行著 Spark 的 Hadoop。
將 Spark 放到 Hadoop 的對立面就像是在說你的新電動車非???,根本不需要電一樣。但事實上,電動車會推動對更多電力的需求。
為什么會產(chǎn)生這種混淆?如今的 Hadoop 由兩大部分組成。第一部分是名為 Hadoop 分布式文件系統(tǒng)(HDFS)的大規(guī)模存儲系統(tǒng),該系統(tǒng)能高效、低成本地存儲數(shù)據(jù),且針對大數(shù)據(jù)的容量、多樣性和速度進行了優(yōu)化。第二部分是名為 YARN 的計算引擎,該引擎能在 HDFS 存儲的數(shù)據(jù)上運行大量并行程序。
YARN 能托管任意多的程序框架。最初的框架是由谷歌發(fā)明的 MapReduce,用來幫助處理海量網(wǎng)絡(luò)抓取數(shù)據(jù)。Spark 是另一個這樣的框架,還有一個名為 Tez 的新框架。當(dāng)人們談?wù)?Spark 與 Hadoop 的“對決”時,他們實際上是在說現(xiàn)在程序員們更喜歡用 Spark 了,而非之前的 MapReduce 框架。
但是,MapReduce 不應(yīng)該和 Hadoop 等同起來。MapReduce 只是 Hadoop 集群處理數(shù)據(jù)的諸多方式之一。Spark 可以替代 MapReduce。商業(yè)分析們會避免使用這兩個本來是供程序員使用的底層框架。相反,他們運用 SQL 等高級語言來更方便地使用 Hadoop。
在過去四年中,基于 Hadoop 的大數(shù)據(jù)技術(shù)涌現(xiàn)出了讓人目不暇接的創(chuàng)新。Hadoop 從批處理 SQL 進化到了交互操作;從一個框架(MapReduce)變成了多個框架(如 MapReduce、Spark 等)。
HDFS 的性能和安全也得到了巨大改進,在這些技術(shù)之上出現(xiàn)了眾多工具,如Datameer 、 H20 和Tableau 。這些工具極大地擴大了大數(shù)據(jù)基礎(chǔ)設(shè)施的用戶范圍,讓數(shù)據(jù)科學(xué)家和企業(yè)用戶也能使用。
Spark 不會取代 Hadoop。相反,Hadoop 是 Spark 的基石。隨著各個組織尋求運用范圍最廣、最健壯的平臺來將自己的數(shù)據(jù)資產(chǎn)轉(zhuǎn)變?yōu)榭尚袆拥纳虡I(yè)洞見,它們對 Hadoop 和 Spark 技術(shù)的采用也會越來越多。