Hadoop: What it is, how it works, and what it can do

来源:互联网 发布:门禁发卡软件 编辑:程序博客网 时间:2024/05/16 11:23

Cloudera CEO Mike Olson on Hadoop's architecture and its data applications.

By James Turner

January 12, 2011

 

最近一段时间在数据库和内容管理的圈子里Hadoop技术的概念炒的很火热,但是很多业内人士都还不是很了解它是什么,以及怎样更好的使用

 

ClouderaCEOStrata 发言人 Mike Olson,他的公司提供Hadoop的企业分布式项目,接下来的采访中他将会讨论Hadoop的背景和应用

 

 

Hadoop缘起何处?

Mike Olson:Hadoop所用的底层技术是由谷歌早先开发的,用来将收集到的海量组织型结构性信息高效地编入索引,再将有效的结果呈现给用户。市场没有这块的需求,于是谷歌自己搭建了平台。谷歌的这项创新被纳入了一个开源项目Nutch,后来Hadoop也正是从这个项目中剥离而来的。雅虎公司在Hadoop的企业级应用发展上扮演了关键性的角色。

 

Hadoop可以解决哪些问题?

Mike Olson:Hadoop平台被设计用来处理大量的数据——可能是复杂的结构性数据——而这些数据并不适宜存在表中。适用这种情况:需要进行深入分析和大规模计算,例如集群和定位,这正是谷歌在做的,通过索引网络,检查用户行为以此来提高性能算法。

 

Hadoop可以应用在很多领域。、金融上,做精准的证券评估和风险分析,可以通过构建复杂的模型,这对于普通数据库引擎难以引入,而Hadoop确可以实现。线上零售行业上,想要通过更好的搜索结果展示让客户来购买,这类问题,谷歌都很好的借助自己构建的平台得以实现。这只是一些小例子。

 

Hadoop的架构是怎样的?

Mike Olson:Hadoop运行在大量没有共享内存和磁盘的机器上,这意味着你可以买一批服务器,放在机架上,然后在每台上都运行Hadoop软件。当你想将组织的所有数据加载到Hadoop中时,Hadoop软件所做的就是将数据分割成块,然后将数据分散到不同的服务器上。没有一处可以与所有的数据进行互通;Hadoop记录数据存储的位置。而且由于存在多个副本存储,所以当存储数据的服务器离线或宕机,数据会自动从其他位置得到副本。

 

在集中的数据库系统中,大型的磁盘会包含4816个处理器。在Hadoop集群中,每台服务器有248CPU。你可以通过将代码发送到集群中的所有服务器,而每个服务器会处理一部分数据,从而实现索引的工作。而数据处理后结果随后会以整体的方式传回来。这便是MapReduce:将操作映射到所有的服务器,再将返回的结果缩减为单一的结果集。

 

大量数据能够处理都得益于Hadoop,而处理器的并行运行让你能够提出一些复杂的计算问题。

 

这样来说,公司需要开发自己的Hadoop应用吗?

Mike Olson:公平地说,现在的Hadoop适配器必定是大大强于关系型数据库的。没有那么多打包好的应用可以不经配置就能在Hadoop处理器上运行。就比如80年代,IngresIBM出售数据库引擎时,人们通常都需要在本地编写程序,以此来操作数据。

 

开发工具和接口非常简单,你可以在Hadoop框架上开发多语言支持的应用。就比如我们的合作方Informatica,他们自己开发了软件,可以调用HadoopAPI来对集群中的数据进行操作。后续还有很多供应商跟进,另外有一些查询工具,就是可以与集群中的数据建立关联,还有Yahoo开发的Pig语言,可以支持数据流和数据传输。

Hadoop部署目前阶段还是比较繁杂,不过供应商正在加紧开发相关的程序来应对。我预计几年之内将会有更多便捷的开发工具出现。

 

SQLNoSQL之争中你偏向与哪一方?

Mike Olson:我对关系型数据库和SQL语言深信不疑,这种语言非常厉害。

我不喜欢NoSQL这个词,它被造出来是为了在多种不同特性功用的项目下标新立异。而真正的问题是,它能解决什么问题?这才是关乎用户的事


本文引自oreilly官网早先的一篇采访,偶然看到了时间是2011年,对这个时间点比较感兴趣就试着译了一下。自己的感觉是,很多语句读着语义不是很通顺,回答中涉及技术的内容也很浅显。

原文链接https://www.oreilly.com/ideas/what-is-hadoop

原创粉丝点击