Hadoop之父勾勒大数据平台未来

“大数据不是炒作,也不是泡沫。Hadoop在未来将继续追随谷歌的脚步。”Hadoop的创造者兼Apache Hadoop项目创始人Doug Cutting近日表示。

作为一个批处理计算引擎,Apache Hadoop是大数据核心的开源软件框架。有一种说法是,Hadoop并不适用于真正实时数据可见性所需要的在线互动数据处理。事实是这样的吗?Hadoop的创造者兼Apache Hadoop项目创始人(现任Cloudera公司首席架构师)Doug Cutting说:“相信Hadoop拥有一个超越批处理的未来。”

“批处理有其用武之地。例如,你需要移动大量数据并分析所有数据的时候。但我仍认为,人们真正想要的是批处理和在线计算的结合体。Hadoop将会成为企业未来主流数据处理系统的内核。” Cutting说。

Hadoop行至何处?

在刚刚结束的Strata Conference+Hadoop World会议上,Cutting解释了Hadoop堆栈的核心思想,以及其未来的发展方向。“Hadoop被看作是一个批处理计算引擎,事实上,这是我们开始的地方(结合MapReduce)。MapReduce是一个很棒的工具,目前市场上有很多关于如何在MapReduce上部署各种算法的书籍。”Cutting说。

MapReduce是一个编程模型,由谷歌公司设计,用于使用分布式计算批量并行处理海量数据。MapReduce得到一个输入,然后将其分成很多更小的子问题,这些问题被分配到不同节点来并行处理。然后,它们重新组合子问题的答案以形成输出。

“这是非常有效的,”Cutting表示,“它允许你把计算移向数据。这样一来,当你处理数据时就不需要到处复制数据,并且它还形成了一个共享平台。构建分布式系统是一个复杂的过程,所以我们不希望反反复复重新部署它。MapReduce被证明是一个坚实的基础,依托MapReduce开发出了很多工具,例如 Pig和Hive。”

Hadoop关键特性

为了证明Hadoop大数据平台的通用性,Cutting描述了他所认为的Hadoop的两个核心主题。首先,Hadoop平台具有很好的可扩展性,不仅适用于存储在内存中的小数据集,还能够扩展到处理庞大的数据集。

“评估可扩展性的一个关键因素是经济承受能力。我们在通用硬件平台上运行是因为它允许你进一步地扩展。如果你可以购买10倍的存储量,那么就可以存储10倍的数据量。所以,经济承受能力是关键,这也是我们使用通用硬件的原因,因为它是最经济实惠的平台。”Cutting说。

Hadoop另一个关键特性在于开源。Cutting指出,开源软件是非常实惠的。开发者可以向供应商付费,但是为了他们所提供的价值而付费。开发者不需要年复一年地付费,随着时间的推移,供应商需要通过向你提供价值来赢得开发者的信任和信心。此外,对于Hadoop而言,用户可以以原始的形态保存数据,然后,当你使用数据时,再使用不同的模式。

大数据领域另一种流行的做法是,在通常情况下,与更聪明的算法相比,分析更多的数据能够帮助你更好地了解你的问题。也就是说,你应该花更多的时间来收集数据,而不是调整较小数据集所采用的算法。直观地说,这很像是具有更高分辨率的图像,如果你试图分析图片,你应该选择放大高分辨率图片,而不是低分辨率图像。

Cutting还指出,批处理并不算是Hadoop的典型特性。例如,仿效谷歌BigTable的HBase是Hadoop堆栈的一部分,它已经成为非常成功的开源非关系型分布式数据库。HBase是一个在线计算系统,而不是批处理计算系统。

“HBase 也支持批处理,它与HDFS以及Hadoop堆栈的其他组件共享存储。我认为这也是HBase如此受欢迎的原因之一。HBase被整合到系统的其他部分中,而不是成为一个独立的系统。它可以与堆栈的其他组件进行共享,可以对可用性、安全性和灾难恢复等特性进行共享。”Cutting解释说。

技术未来展望

如果Hadoop不仅仅是批处理计算平台,而是成为一个更为通用的数据处理平台,它将会变成什么样,它到底将走向何方?Cutting表示,我们当然希望拥有开源的大数据平台,并且能够在通用硬件上运行。同时,我们还希望它具有线性扩展能力,也就是说,如果你需要存储10倍数据,只需要购买10倍的硬件就可以了。无论你的数据集变得有多大,都可以采用这样的方式进行扩展。

性能方面同样是如此。对于批处理性能,如果你需要更大的批处理吞吐量或更小的延迟,你只需要增加硬件数量即可。而对于交互式查询,也是同样。增加硬件就能为你带来性能和数据处理量级方面的线性扩展。Cutting还表示:“人们通常会认为,采用大数据平台后,需要放弃某些东西。我不这样认为的。从长期来看,我们不需要放弃任何的功能。”