Hadoop 从小象到巨人的崛起

时间:2022-10-02 04:50:14

随着互联网、移动互联网、物联网、云计算的快速发展,各行各业爆炸性增长的海量数据将再一次颠覆云时代,信息量暴增的大数据时代吹响了号角。

用户如何从这庞大的数据库中提取对自己有用的信息呢?这就需要大数据分析技术和工具,而传统的商业智能(BI)工具已经抵挡不住企业如此庞大的数据信息。提到大数据,不得不说的是与大数据相关的技术名词:Hadoop、MapReduce、HBase、NoSQL等。业界的众多厂商也都开始从技术入手,打造各自的大数据解决方案。一时间,Hadoop红遍了全球,就像当年的Linux开源软件系统一样,成为了研究和设计大数据解决方案的主流平台。

华丽的变形

Hadoop的发展基本上经历了这样一个过程:从一个开源的Apache基金会项目,随着越来越多的用户的加入,不断地被使用、贡献和完善,逐渐形成了一个强大的生态系统。

随着云计算和大数据的发展,如今Hadoop已经是一个能够让用户轻松驾驭和使用的分布式计算平台。用户可以在不了解分布式底层细节的情况下,轻松地在Hadoop上开发和运行处理海量数据的应用程序,并能充分利用集群的威力实现高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在价格低廉的硬件上,而且它提供高传输率来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,这样可以用流的形式访问文件系统中的数据。

Hadoop最受欢迎的是在Internet上对搜索关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题。例如,如果您要grep一个100TB的巨型文件,会出现什么情况?在传统的系统上,这将需要很长的时间。但是Hadoop在设计时就考虑到这些问题,采用并行执行机制,因此能大大提高效率。

如今,基于Hadoop的应用已经遍地开花:Yahoo通过集群运行Hadoop,以支持广告系统和Web搜索的研究;Facebook借助集群运行Hadoop,以支持其数据分析和机器学习;百度则使用Hadoop进行搜索日志的分析和网页数据的挖掘工作;淘宝的Hadoop系统用于存储并处理电子商务交易的相关数据。

九年的长跑,Hadoop已从初出茅庐的小象华丽变形,成为了行业巨人,但还需戒骄戒躁、不断完善。

性能大提升

Hadoop还是一个能够对大量数据进行分布式处理的软件框架。Hadoop是以一种可靠、高效、可伸缩的方式进行处理的。

Hadoop是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。

Hadoop是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop可以将数千个节点投入计算,非常具有性能潜力。但并非所有的工作都可以进行并行处理,如用户交互进行的数据分析。如果你设计的应用没有专门为 Hadoop集群进行优化,那么性能并不理想,因为每个Map/Reduce任务都要等待之前的工作完成。

英特尔针对大数据的开放架构核心产品线,推出了英特尔Hadoop分发版,让用户可以实现“软硬协同,体验至上”的创新效果。例如,利用英特尔至强处理器平台对网络和I/O 技术所做的优化,与英特尔Hadoop分发版进行强力组合,以往分析1TB的数据需要4个多小时才能完全处理完,现在仅需要短短的7分钟即可完成,极大地提升了大数据分析的速度。

Hadoop还是可伸缩的,能够处理PB级数据。由于批量处理功能,Hadoop最好部署在这些场合:索引编制、模式识别、推荐引擎建立和情绪分析。在所有这些场合下,数据大量生成,存储在Hadoop中,然后最终使用MapReduce函数来进行查询。但是这并不意味着,Hadoop会取代数据中心里面目前的组件。恰恰相反,Hadoop会集成到现有的IT基础设施里面,以便充分利用进入到该企业的海量数据。

曾听过这样一则案例:Hadoop集成到一家企业网站后,情况较之先前大有改观:大大节省了时间和精力。来自Web服务器的日志数据不用经历ETL操作,而是直接被完整地发送到了Hadoop里面的HDFS。然后,对日志数据执行同样的清理过程,现在只使用MapReduce任务,一旦数据清理完毕,随后被发送到数据仓库。这个操作要迅速得多,这归因于省去了ETL这一步,加上MapReduce操作速度快。而且,所有数据仍然保存在Hadoop里面,网站操作人员后续所需数据都可以查询到。

开源的典范

Hadoop依赖于社区服务器,任何人都可以自由的下载、安装并运行。由于它是一个开源项目,所以没有软件成本,这使得它成为一种非常吸引人的解决方案。Hadoop带有用Java语言编写的框架,因此运行在Linux生产平台上是非常理想的。Hadoop上的应用程序也可以使用其他语言编写,比如C++。

Hadoop称得上开源创新领域的杰出典范。思科的James Urquhart曾经这样说过:“Hadoop可以说是不涉及任何现有专利的开源项目在企业软件方面所取得的首个里程碑式成功”。尽管里程碑不只这么一个,但能够以这样的规模将成功果实迅速扩展的例子还真不多见。

虽然大量的行业用户开始学习Hadoop的技术架构,但在真实的生产环境中,依然显得相当谨慎,很大一部分也是因为开源。Google虽然公开了MapReduce论文,但底层的GFS、BigTable等技术都不是开源的,因为这是互联网的核心竞争力。很多企业的确想用这个技术,但是技术门槛比较高,前期投入非常之大。一旦进入维护和开发阶段,Hadoop的真实成本就会凸显出来。

群体的智慧

Hadoop作为海量数据分析的最佳解决方案,已经受到众多IT厂商的关注,并由此而锤炼出风格迥异的Hadoop发行版以及支持Hadoop的产品。

例如,IBM在Hadoop系统领域的代表产品InfoSphere BigInsights,它是基于开源Apache Hadoop框架实现,增加了包括管理能力、工作流、安全管理等能力,并融入了IBM研究实验室的数据分析、机器学习技术以及文本数据分析挖掘;IBM在流计算领域的代表产品是InfoSphere Streams,是目前业界独有的流数据处理技术。Streams能够在对诸如气象信息、通讯信息、金融交易数据的管理中动态捕捉信息、进行实时分析,能够对静态数据的处理提供有效补充;在数据仓库方面是InfoSphere Warehouse和etezza。Netezza克服了传统数据仓库在面临大数据挑战时的瓶颈,可以将大量数据整合到统一的平台上,计算能力高达TB级。

结语

Hadoop目前已经取得了非常骄人的业绩。随着互联网的发展,新的业务模式正在不断涌现,Hadoop的应用也正逐渐从互联网向电信、银行、医疗、教育等领域拓展。在不久的将来,Hadoop必然会在更多的领域中继续扮演“幕后英雄”,并带来更多的惊喜。

上一篇:纪录片的蒙太奇 下一篇:UC俞永福:连续三年收入翻番携手百度逐梦移动互...