Spark 和 Hadoop是朋友,而非敌人

6月份Apache Spark取得了激动人心的好成绩。在圣何塞的Hadoop峰会上,Spark成了常见的话题,以及许多会议演讲的主题。6月15日,IBM宣布计划将大力投资与Spark相关的技术。

这一声明拉开了旧金山Spark峰会的序幕,在里,人们将会看到越来越多的工程师学习Spark,以及越来越多的公司正试验和采用Spark技术。

对Spark投资和采用的良性循环正迅速地推动这一重要技术的成熟和发展,对整个大数据社区都有利。然而,随着人们对Spark技术的越来越关注,产生了一个奇怪而又顽固的误解:Spark在某种程度上是Apache Hadoop的替代品,而非对它的一种补充。这一误解从像“一款旨在打破Hadoop数据的新的软件”以及“公司纷纷抛弃Hadoop大数据技术”等标题中都可以看到。

作为一个长期以来的大数据实践者,最先提倡雅虎投资Hadoop,现在是一家为企业提供大数据服务的公司CEO,我想就这一误解发表自己的观点,进行一些澄清。

Spark 和 Hadoop通力合作。

Hadoop正日益成为公司处理大数据的企业平台之选。Spark则是一种运行在Hadoop之上的内存中处理解决方案。Hadoop最大的用户——包括易趣和雅虎,都在他们的Hadoop集群中运行Spark。Cloudera 和 Hortonworks在他们的Hadoop包中也加入了Spark。我们的客户Altiscale自我们最开始推出时就一直使用着运行在Hadoop之上的Spark。

将Spark置于Hadoop的对立面,就像说你的新电动车非常酷,不需要电一样。但事实上,电动车将推动对电的更多需求。

为什么会产生这种混淆?现在的Hadoop主要由两部分构成。第一部分是叫做Hadoop分布式文件系统(HDFS)的大型存储系统,该系统能低成本、高效地存储数据,且能对大数据的容量、多样性和速度进行优化。第二部分是一个叫做YARN的计算引擎,该引擎能在HDFS存储的数据上运行大量并行程序。

YARN能托管任意数量的程序框架。最初的框架是谷歌发明的MapReduce,用来帮助处理大量的网络抓取数据。Spark是另一种这样的框架,正如还有另一个新的叫Tez的框架。当人们谈论“Spark”与“Hadoop”的对决时,他们真正的意思是现在的程序员更喜欢用Spark,而不是之前的MapReduce框架。

然而,MapReduce不应和Hadoop等同起来。MapReduce只是处理Hadoop集群中数据的众多方式之一,Spark可以作为替代品来用。更广泛地说,商业分析师们——日益壮大的大数据实践者,会避免使用这两种专门供程序员使用的低端框架。相反地,他们使用高级语言比如SQL来使Hadoop更加便于使用。

在过去四年,以Hadoop为基础的大数据技术经历了前所未有的创新,从批处理SQL到交互操作,从一个框架(MapReduce)到多个框架(如:MapReduce,Spark等)。

我们也见证了HDFS性能和安全性上的巨大改进,以及在这些技术上涌现的众多工具——例如DatameerH20 和 Tableau,这些工具使得所有这些大数据基础设施的使用范围更广阔,数据科学家和企业用户都能使用。

Spark并不是要取代Hadoop。相反,Hadoop是一个使Spark成为可能的基础。随着各个组织寻求最广阔、最强劲的平台来将其数据资产转变成切实可行的商业远见,相信两个技术都将会被越来越多地采用。


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *