MapR是知名的Hadoop供應(yīng)商,最近該公司為其Hadoop發(fā)行版中添加了完整的Spark堆棧。這是一項(xiàng)明智之舉,更說(shuō)明Spark很可能成為未來(lái)的數(shù)據(jù)處理框架。
MapR也是應(yīng)用Apache Spark的先驅(qū)者,周二,MapR宣布將整合Spark棧至其Hadoop版本,并將此作為與Spark初創(chuàng)公司Databricks(Opm Stoica,創(chuàng)始人及CEO,見上圖)合作的一部分。Spark使處理大數(shù)據(jù)工作負(fù)載變得更為便捷,也使得大數(shù)據(jù)工作負(fù)載編程變得更容易。
Spark最初是加州伯克利大學(xué)開發(fā)的一款內(nèi)存處理框架,隨后它逐漸流行起來(lái),但它真正的崛起還是在2013年9月——被Databricks正式推出。隨后,Cloudera將Spark整合到其Hadoop發(fā)行版(作為與Databricks合作的一部分)。同時(shí),許多按Hadoop設(shè)計(jì)的項(xiàng)目和公司都計(jì)劃將支持Spark或直接轉(zhuǎn)向Spark。
這其中包括Cloudera的Oryx項(xiàng)目,分析初創(chuàng)公司Platfora,甚至包括Apache Mahout項(xiàng)目;也包括參與Databricks認(rèn)證程序的公司們。
Spark現(xiàn)在如此盛行,這是因?yàn)樗茸龅搅薓apReduce可以做到的,還做到了MapReduce沒能做到的。MapReduce是傳統(tǒng)的Hadoop數(shù)據(jù)處理框架,它速度慢(它采用的是批處理),編程繁瑣。Spark快捷、靈活——這使得Spark可以更好的處理諸如機(jī)器學(xué)習(xí)、圖形處理和、交互式查詢類的任務(wù)——而且易于編程。Spark是用Scala寫的,不過(guò)它也支持Java,Python與R語(yǔ)言。
YARN是資源管理系統(tǒng),也是Hadoop 2.0的一部分,YARN允許多處理框架同時(shí)運(yùn)行于同一集群,這些框架都有訪問(wèn)Hadoop分布式文件系統(tǒng)進(jìn)行存儲(chǔ)的權(quán)限。這使得Hadoop對(duì)Spark的支持成為可能。
MapR的這條新聞最有趣的地方是,MapR提供了對(duì)Spark棧的全部支持——這包括Shark SQL查詢引擎(它本質(zhì)上說(shuō)一個(gè)更快Apache Hive)和MLLib機(jī)器學(xué)習(xí)庫(kù)——然而Cloudera卻不支持Shark。這大概是因?yàn)镃loudera還在力推它的Impala SQL查詢引擎,而MapReduce也沒有包括這個(gè)引擎。MapR一直引領(lǐng)交互SQL查詢項(xiàng)目Apache Drill的發(fā)展;此外隨著Drill的到來(lái),MapR也添加了對(duì)HP Vertica的本地支持。
從MapR的角度,通過(guò)整合Spark這一用戶需求的功能提高了其在業(yè)界的地位(先前MapR受到的關(guān)注度是遠(yuǎn)少于競(jìng)爭(zhēng)對(duì)手Cloudera和Hortonworks的)。例如,MapR現(xiàn)在開發(fā)了自己的HBase NoSQL數(shù)據(jù)存儲(chǔ),相較于其他Hadoop發(fā)行版包含的開源版本,這個(gè)數(shù)據(jù)存儲(chǔ)功能更齊全。
正是諸如Spark類的技術(shù)——以及任何可以運(yùn)行在YARN上的技術(shù)——使得Hadoop成為有潛力顛覆現(xiàn)有數(shù)據(jù)行業(yè)供應(yīng)商的新生力量。Apache Hadoop一直提供廉價(jià)、開源的存儲(chǔ),不過(guò)現(xiàn)在生態(tài)系統(tǒng)已經(jīng)將Hadoop變?yōu)橐粋€(gè)可以在數(shù)據(jù)之上做很多事情的平臺(tái)。在未來(lái)的幾年,我們將看到更多的分析應(yīng)用、甚至是數(shù)據(jù)庫(kù)采用Spark或類似的技術(shù)作為引擎。