对于Hadoop未来的技术发展方向,Cutting表示谷歌已经给出了相关路线图。“谷歌发布GFS和MapReduce的论文后,我们很快地将其复制到Hadoop项目中。这些年以来,谷歌在很多方面激励着Hadoop开源堆栈。谷歌的Sawzall系统催生了Pig和Hive,而BigTable则直接启发了HBase。我很激动地看到,今年谷歌发表了名为Spanner的论文,其中介绍了在分布式数据库系统实现传输的机制。可能很多人都会认为这不会很快成为现实,但却为我们指明了前进的方向。”Cutting说。
Cutting指出,作为一项复杂技术,Spanner并不会很快成为Hadoop的一部分,但它确实明确了技术发展的方向。他同时还提到了Impala(Cloudera最新发布的数据库引擎),它可以使用SQL查询存储在HBase中的数据集。 Impala将为用户带来交互式在线查询的新体验,它同样追随了谷歌的一些研究成果,已经发布了一段时间。Cutting认为,Impala将发展成为一个通用的技术平台。
“我们已经知晓前进方向,并且知道如何去实现目标。所以,我鼓励大家现在就开始使用Hadoop,因为在未来你将收获更多。”Cutting说。
“大数据不是炒作,也不是泡沫。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是一个在线计算系统,而不是批处理计算系统。