可憐的MapReduce,直到2013年末,都是Hadoop系統中的關鍵一環,在這個開源大數據處理框架中,它既是集群的資源管理器,又作為主要編程手段和處理環境存在。但如今看來,情況正在發生變化。
Apache Software Foundation的Hadoop 2版本添加了一個名叫YARN的新技術,取代了MapReduce的資源管理角色,并將Hadoop發展成了超越MapReduce批處理作業的應用程序。目前有很多廠商推出了SQL-on-Hadoop工具,讓用戶編寫針對Hadoop數據分析查詢的標準SQL,以代替MapReduce。Spark 處理引擎也應運而生,其支持者聲稱它運行批處理作業的速度比MapReduce快100多倍,并且支持時下流行的高級編程語言,如Java和Python 等。
隨著上述新興技術的出現,MapReduce已經不再像以往那么重要,就像一個古老的蒸汽引擎被迫讓位于更時尚的柴油機車一樣。這個現實在紐約 Strata + Hadoop World 2015 會議后更為凸顯,在此次會議中,與會者廣泛討論了擺脫MapReduce的議題。用一位發言人的話說,“擺脫MapReduce,盡快和盡可能多地擺脫。”
MapReduce Geospatial 的出現,將這一“去MapReduce化”的情緒推向了頂峰,它是一個開源工具包,用于處理衛星圖像和其他大型的柵格數據集。它促使開發者轉變原有被稱為 MrGeo的開發技術,從MapReduce轉而使用Spark。這樣做的結果是獲得了更高的性能,且代碼庫容量減少了25%,衛星成像分析公司(DigitalGlobe)的分析主管Smith 承認,是時候為工具包起一個新的名字了。
不僅僅是MapReduce, HDFS (Hadoop分布式文件系統)——Hadoop的其他核心組成部分的代表,也有可能被取代。在Strata 會議上,Hadoop供應分銷商的領頭羊Cloudera公布了一種名為Kudu的柱狀數據存儲,作為HDFS在實時流數據分析方面的一個潛在替代技術。 Hortonworks,另一個Hadoop供應商,推出了一個單獨的軟件來管理不同系統之間的數據流,HDFS的地位受到了威脅。
MapReduce和HDFS很快就會消失。盡管目前有很多應用程序基于二者構建,大量的Hadoop用戶仍會使用它們來完成一些大數據處理的需要。但以后部署Hadoop系統將不再需要這兩種技術的情況將不可避免。
他們真的還會是Hadoop集群嗎?這是一個生死攸關的問題。但Hadoop的進化,或者身份危機也許是大數據時代帶來的易變性數據管理環境所引發變革的一個縮影。各種關系數據庫和SQL一枝獨秀的時代一去不返了。我們生活在一個多元的世界,這個世界存在各種技術,滿足著不同的數據處理和分析的需要。當然關系型軟件也在其中,此外還包括由Hadoop,Spark,NoSQL數據庫以及其他大數據工具組成的龐大且不斷擴張的生態系統。Hadoop處于這個生態系統的中心位置,但這個位置并不是永久的,很可能在將來的某一天被其他技術所取代。