MapReduce朝不保夕的江湖地位
可怜的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处于这个生态系统的中心位置,但这个位置并不是永久的,很可能在将来的某一天被其他技术所取代。