MapR是知名的Hadoop供应商,最近该公司为其Hadoop发行版中添加了完整的Spark堆栈。这是一项明智之举,更说明Spark很可能成为未来的数据处理框架。
MapR也是应用Apache Spark的先驱者,周二,MapR宣布将整合Spark栈至其Hadoop版本,并将此作为与Spark初创公司Databricks(Opm Stoica,创始人及CEO,见上图)合作的一部分。Spark使处理大数据工作负载变得更为便捷,也使得大数据工作负载编程变得更容易。
Spark最初是加州伯克利大学开发的一款内存处理框架,随后它逐渐流行起来,但它真正的崛起还是在2013年9月——被Databricks正式推出。随后,Cloudera将Spark整合到其Hadoop发行版(作为与Databricks合作的一部分)。同时,许多按Hadoop设计的项目和公司都计划将支持Spark或直接转向Spark。
这其中包括Cloudera的Oryx项目,分析初创公司Platfora,甚至包括Apache Mahout项目;也包括参与Databricks认证程序的公司们。
Spark现在如此盛行,这是因为它既做到了MapReduce可以做到的,还做到了MapReduce没能做到的。MapReduce是传统的Hadoop数据处理框架,它速度慢(它采用的是批处理),编程繁琐。Spark快捷、灵活——这使得Spark可以更好的处理诸如机器学习、图形处理和、交互式查询类的任务——而且易于编程。Spark是用Scala写的,不过它也支持Java,Python与R语言。
YARN是资源管理系统,也是Hadoop 2.0的一部分,YARN允许多处理框架同时运行于同一集群,这些框架都有访问Hadoop分布式文件系统进行存储的权限。这使得Hadoop对Spark的支持成为可能。
MapR的这条新闻最有趣的地方是,MapR提供了对Spark栈的全部支持——这包括Shark SQL查询引擎(它本质上说一个更快Apache Hive)和MLLib机器学习库——然而Cloudera却不支持Shark。这大概是因为Cloudera还在力推它的Impala SQL查询引擎,而MapReduce也没有包括这个引擎。MapR一直引领交互SQL查询项目Apache Drill的发展;此外随着Drill的到来,MapR也添加了对HP Vertica的本地支持。
从MapR的角度,通过整合Spark这一用户需求的功能提高了其在业界的地位(先前MapR受到的关注度是远少于竞争对手Cloudera和Hortonworks的)。例如,MapR现在开发了自己的HBase NoSQL数据存储,相较于其他Hadoop发行版包含的开源版本,这个数据存储功能更齐全。
正是诸如Spark类的技术——以及任何可以运行在YARN上的技术——使得Hadoop成为有潜力颠覆现有数据行业供应商的新生力量。Apache Hadoop一直提供廉价、开源的存储,不过现在生态系统已经将Hadoop变为一个可以在数据之上做很多事情的平台。在未来的几年,我们将看到更多的分析应用、甚至是数据库采用Spark或类似的技术作为引擎。