6月15日,IBM 宣布计划大规模投资 Spark 相关技术,此项声明会促使越来越多的工程师学习 Spark 技术,并且大量的企业也会采用 Spark 技术。
Spark 投资的良性循环会使 Spark 技术发展更加成熟,并且可以从整个大数据环境中获益。然而,Spark 的快速增长给人们一个奇怪且固执的误解:Spark 将取代 Hadoop,而不是作为 Hadoop 的补充。这样的误解可以从类似“旨在比下 Hadoop 的新软件”和“企业将放弃大数据技术 Hadoop”的标题中看出来。
作为一个长期的大数据实践者,雅虎投资 Hadoop 的早期倡导者,一个为企业提供大数据服务的公司的 CEO ,我想在这篇文章中提出几个明确的观点。
Spark 和 Hadoop 会和谐相处。
越来越多的企业选择 Hadoop 做大数据平台,而 Spark 是运行于 Hadoop 顶层的内存处理方案。Hadoop ***的用户 —— 包括 eBay 和雅虎 —— 都在 Hadoop 集群中运行着 Spark。Cloudera 和 Hortonworks 将 Spark 列为他们 Hadoop 发行的一部分。自从我们推出 Spark 之后,用户一直在使用着 Spark。
将 Spark 置于和 Hadoop 对立的位置,就好像是说你的新电动汽车看起来很高级,所以你的车就不需要充电一样。如果电动汽车真的普及的话,那只会带来更多的用电需求。
为什么这么迷惑呢?现在的 Hadoop 包括两个主要的组件。***个是大规模储存系统,叫做 Hadoop Distributed File System (HDFS),它以低功耗、高性能的方式储存数据,并且能优化大数据的种类和读取速度。第二个是一个计算引擎,叫做 YARN,它能在储存在 HDFS 上的数据顶层运行大规模并行程序。
YARN 可以承载任何数量的程序框架。原始的框架是 MapReduce,它由谷歌发明,用于处理大规模页面抓取。Spark 是另一个类似的框架,另一个新的框架叫做 Tez。当人们谈论 Spark“干掉”Hadoop 时,他们往往指的是程序员更喜欢将 Spark 用在老的 MapReduce 框架上。
然而,MapReduce 不等同于 Hadoop。MapReduce 只是 Hadoop 集群处理数据的多种方式之一。Spark 可以是替代品。说得更宽点,商业分析师 —— 持续增长的大数据从业者 —— 会避免使用这两个对于程序员来说十分低端的框架。相反,他们会使用更高级的语言,例如 SQL ,来让 Hadoop 更容易访问。
在过去的四年中,基于 Hadoop 的大数据技术达到了***的创新水平。我们已经从 SQL 批处理转向互动:从单一框架(MapReduce)转到多框架(MapReduce、Spark 等等)。
我们已经看到了 HDFS 优异的性能和安全性的改善,并且我们还看到了顶层工具的井喷 , 例如 Datameer、H20 和 Tableau。大量不同领域的数据科学家和商业用户使这些大数据工具变得更为易用。
Spark 对于 Hadoop 来说不是挑战,也不是来取代 Hadoop 的。相反,Hadoop 是 Spark 成长发展的基础。我们希望两个组织都能有长足的发展,并且成为将数据资产转化为可执行商业计划的最有活力的平台。