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技术的概念炒的很火热,但是很多业内人士都还不是很了解它是什么,以及怎样更好的使用
Cloudera的CEO兼Strata 发言人 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记录数据存储的位置。而且由于存在多个副本存储,所以当存储数据的服务器离线或宕机,数据会自动从其他位置得到副本。
在集中的数据库系统中,大型的磁盘会包含4、8、16个处理器。在Hadoop集群中,每台服务器有2、4或8个CPU。你可以通过将代码发送到集群中的所有服务器,而每个服务器会处理一部分数据,从而实现索引的工作。而数据处理后结果随后会以整体的方式传回来。这便是MapReduce:将操作映射到所有的服务器,再将返回的结果缩减为单一的结果集。
大量数据能够处理都得益于Hadoop,而处理器的并行运行让你能够提出一些复杂的计算问题。
这样来说,公司需要开发自己的Hadoop应用吗?
Mike Olson:公平地说,现在的Hadoop适配器必定是大大强于关系型数据库的。没有那么多打包好的应用可以不经配置就能在Hadoop处理器上运行。就比如80年代,Ingres和IBM出售数据库引擎时,人们通常都需要在本地编写程序,以此来操作数据。
开发工具和接口非常简单,你可以在Hadoop框架上开发多语言支持的应用。就比如我们的合作方Informatica,他们自己开发了软件,可以调用Hadoop的API来对集群中的数据进行操作。后续还有很多供应商跟进,另外有一些查询工具,就是可以与集群中的数据建立关联,还有Yahoo开发的Pig语言,可以支持数据流和数据传输。
Hadoop部署目前阶段还是比较繁杂,不过供应商正在加紧开发相关的程序来应对。我预计几年之内将会有更多便捷的开发工具出现。
在SQL和NoSQL之争中你偏向与哪一方?
Mike Olson:我对关系型数据库和SQL语言深信不疑,这种语言非常厉害。
我不喜欢NoSQL这个词,它被造出来是为了在多种不同特性功用的项目下标新立异。而真正的问题是,它能解决什么问题?这才是关乎用户的事
本文引自oreilly官网早先的一篇采访,偶然看到了时间是2011年,对这个时间点比较感兴趣就试着译了一下。自己的感觉是,很多语句读着语义不是很通顺,回答中涉及技术的内容也很浅显。
原文链接https://www.oreilly.com/ideas/what-is-hadoop
- Hadoop: What it is, how it works, and what it can do
- What is Index and how it works in SQL Server?
- What is a cronjob and how do I use it?
- What is a NullPointerException, and how do I fix it?
- Project Butter - How It Works And What It Added
- What is overfitting and how can I avoid it?
- What Is UAT, And Why Do It?
- What is virtual memory, how is it implemented, and why do operating systems use it?
- what-is-the-bios-and-what-does-it-do
- What is DMA and what does it do?
- FNPLicensingService.exe : What is it and can I delete it?
- Divitis: what it is, and how to cure it
- What is aliasing and what causes it?
- What is Logical Volume Management and How Do You Enable It in Ubuntu?
- What is invalid parameter noinfo and how do I get rid of it? (转)
- What is pagefile.sys and can I move it?
- What is JNI Graphics and how to use it?
- What is reflection and how to use it in CSharp ?
- Java join()使用及源码分析
- python Day2
- HDU
- 使用export/import导出和导入docker容器
- 基于 yii2 的定时任务处理/
- Hadoop: What it is, how it works, and what it can do
- ubuntu虚拟机重启后进入initramfs的解决办法 (转)
- go 文件差量对比,并用天做区分文件夹(几个月的精减版)
- 基于socket(TCP)和opencv的实时视频传输
- 简单的设计模式||六大原则
- LCA(最近公共祖先)倍增算法
- Buy the Ticket(卡特兰数 + JAVA大数)
- 字符设备驱动(一)
- Linux目录结构