Hadoop是什么?
Hadoop是一个开源框架
,可编写和运行分布式应用处理大规模数据
。分布式计算是一个宽泛并且不断变化的领域,Hadoop的优势在于:
1) 方便:Hadoop运行在由一般商用机器构成的大型集群上,或者云计算服务上,比如EC2。
2) 健壮:Hadoop致力于在一般商用硬件上运行,其架构假设硬件会频繁失效,Hadoop可以从容地处理大多数此类故障。
3) 可扩展:Hadoop通过增加集群节点,可以线性地扩展以处理更大的数据集。
4) 简单:Hadoop允许用户快速编写高效的并行代码。
Hadoop框架的核心是HDFS和MapReduce
。其中 HDFS 是分布式文件系统,MapReduce 是分布式数据处理模型和执行环境。掌握了这两部分,也就掌握了Hadoop最核心的东西,因此,《Hadoop大讲台》后面的学习任务主要围绕这两部分来安排。
Hadoop是Doug Cutting基于Google公司的GFS和MapReduce思想不断完善的项目 —— Nutch中脱胎而出的,目前已经归于Apache。
Hadoop能做什么?
大数据时代已经到来,金融数据、电商数据、社交数据、游戏数据…….这些数据的规模、结构、增长的速度都给传统数据存储和处理技术带来巨大考验。Hadoop的简单方便、可扩展性和健壮性让其在大数据处理方面占尽优势,其主要适合的应用场景有:
1) 搜索引擎,Doug Cutting设计Hadoop的初衷,就是为了针对大规模的网页快速建立索引。
2) 大数据存储,利用Hadoop的分布式存储能力,例如数据备份、数据仓库等。
3) 大数据处理,利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等。
4) 科学研究,Hadoop是一种分布式的开源框架,对于分布式计算有很大程度地参考价值。
目前,Hadoop已经成长为一个庞大的体系,只要和海量数据相关的领域,都有Hadoop的身影。右侧图1是一个Hadoop生态系统的图谱,详细列举了Hadoop这个生态系统中出现的各种数据工具。
Hadoop谁在用?
Hadoop作为大数据存储及计算领域的一颗明星,目前已经得到越来越广泛的应用。不管是国外的著名公司Google、Yahoo!、微软、亚马逊、 EBay、FaceBook、Twitter、LinkedIn等和初创公司Cloudera、Hortonworks等,又还是国内的著名公司中国移动、阿里巴巴、华为、腾讯、百度、网易、京东商城等,都在使用Hadoop及相关技术解决大规模化数据问题,以满足公司需求和创造商业价值。
例如:Yahoo! 的垃圾邮件识别和过滤、用户特征建模;Amazon.com(亚马逊)的协同过滤推荐系统;Facebook的Web日志分析;Twitter、LinkedIn的人脉寻找系统;淘宝商品推荐系统、淘宝搜索中的自定义筛选功能……这些应用都使用到Hadoop及其相关技术。
以下简单列举了Hadoop在一些知名企业的应用情况,小讲想说的是,信息可能有变化,同学们有个大概的了解即可,无须深究。
图1:Hadoop生态系统
1) 2) Nutch,互联网数据及Nutch搜索引擎应用
3) HDFS,数据存储
7) Hiho,Sqoop,将关系数据库的数据导入HDFS的工具
11) Hue,Hadoop自己的监控管理工具
14) HBase,OLTP存储系统
Gartner的一项研究表明,2015年,65%的分析应用程序和先进分析工具都将基于Hadoop平台。在未来一段时间内,Hadoop将变得更加流行。此时此刻,非Hadoop莫属!