大数据学习-什么是Hadoop
Posted 小拙笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据学习-什么是Hadoop相关的知识,希望对你有一定的参考价值。
什么是大数据
所谓大数据,是指数据量庞大、产生数度快、结构多样的价值密度低的数据。其中,数据量庞大是指数据规模超出1、2台高性能主机所能处理范围;结构多样性是指除了关系型数据库能够处理的结构化数据还包含半结构化数据(如各类传感设备必如地镑、卫星、GPS设备等产生的纯文本格式的数据,还有良心网站NASA官网公布的txt格式的空间天气数据等成行成列的数据)和非结构化数据(视频、图像等)。这些数据的价值密度普遍较低(和具体的应用范围也有关系,比如NASA的数据,如果想知道某天的太阳射电情况,看当天发布的txt就好了,价值密度很高,但是这就不算大数据了,因为需要采集的数据量很小;如果想知道过去N年太阳射电的极值就需要处理很多数据,这些数据的价值密度就低了),大数据处理的目的就是从价值密度的数据里把有价值的数据过滤分析出来。
“大数据”这三个字非技术语言,更多的是市场语言(Marketing Language),其背后是硬件、数据库、操作系统、Hadoop等一系列技术的应用。
什么是Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
说到Hadoop的起源,不得不提到Google。Google(自称)为云计算概念的提出者,在自身多年的搜索引擎业务中构建了突破性的GFS(Google File System),从此文件系统进入分布式时代。除此之外,Google在GFS上如何快速分析和处理数据方面开创了MapReduce并行计算框架,让以往的高端服务器计算变为廉价的x86集群计算,也让许多互联网公司能够从IOE(IBM小型机、Oracle数据库以及EMC存储)中解脱出来。然而,Google之所以伟大就在于独享技术不如共享技术,在2002-2004年间以三大论文的发布向世界推送了其云计算的核心组成部分GFS、MapReduce以及BigTable。Google虽然没有将其核心技术开源,但是这三篇论文( “The Google File System”、“Mapreduce:Simplified Data Processing on Large Clusters”)已经向开源社区的大牛们指明了方向,Hadoop之父-Doug Cutting使用Java语言对Google的云计算核心技术(主要是GFS和MapReduce)做了开源的实现。
演变关系:
GF->HDFS
Google MapReduce->Hadoop MapReduce
BigTable->HBase
Hadoop LOGO的名字由来:DougCutting 家小孩儿为一直黄色大象玩具起得名字。
Hadoop编年史
- 2002年10月,Doug Cutting和Mike Cafarella创建了开源网页爬虫项目Nutch。
- 2003年10月,Google发表Google File System论文。
- 2004年07月,Doug Cutting和Mike Cafarella在Nutch中实现了类似GFS的功能,即后来HDFS的前身。
- 2004年10月,Google发表了MapReduce论文。
- 2005年02月,Mike Cafarella在Nutch中实现了MapReduce的最初版本。
- 2005年12月,开源搜索项目Nutch移植到新框架,使用MapReduce和NDFS(Nutch Distributed File System )来运行,在20个节点稳定运行。
- 2006年01月,Doug Cutting加入雅虎,Yahoo!提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。
- 2006年02月,Apache Hadoop项目正式启动以支持MapReduce和HDFS的独立发展。
- 2006年02月,Yahoo!的网格计算团队采用Hadoop。
- 2006年03月,Yahoo!建设了第一个Hadoop集群用于开发。
- 2006年04月,第一个Apache Hadoop发布。
- 2006年04月,在188个节点上(每个节点10GB)运行排序测试集需要47.9个小时。
- 2006年05月,Yahoo!建立了一个300个节点的Hadoop研究集群。
- 2006年05月,在500个节点上运行排序测试集需要42个小时(硬件配置比4月的更好)。
- 2006年11月,研究集群增加到600个节点。
- 2006年11月,Google发表了Bigtable论文,这最终激发了Hbase的创建。
- 2006年12月,排序测试集在20个节点上运行1.8个小时,100个节点上运行3.3小时,500个节点上运行5.2小时,900个节点上运行7.8个小时。
- 2007年01月,研究集群增加到900个节点。
- 2007年04月,研究集群增加到两个1000个节点的集群。
- 2007年10月,第一个Hadoop用户组会议召开,社区贡献开始急剧上升。
- 2007年,百度开始使用Hadoop做离线处理。
- 2007年,中国移动开始在“大云”研究中使用Hadoop技术。
- 2008年,淘宝开始投入研究基于Hadoop的系统——云梯,并将其用于处理电子商务相关数据。
- 2008年1月,Hadoop成为Apache顶级项目。
- 2008年2月,Yahoo!运行了世界上最大的Hadoop应用,宣布其搜索引擎产品部署在一个拥有1万个内核的Hadoop集群上。
- 2008年4月,在900个节点上运行1TB排序测试集仅需209秒,成为世界最快。
- 2008年6月,Hadoop的第一个SQL框架——Hive成为了Hadoop的子项目。
- 2008年7月,Hadoop打破1TB数据排序基准测试记录。Yahoo!的一个Hadoop集群用209秒完成1TB数据的排序 ,比上一年的纪录保持者保持的297秒快了将近90秒。
- 2008年8月,第一个Hadoop商业化公司Cloudera成立。
- 2008年10月,研究集群每天装载10TB的数据。
- 2008年11月,Apache Pig的最初版本发布。
- 2009年3月,17个集群总共24000台机器。
- 2009 年3月,Cloudera推出世界上首个Hadoop发行版——CDH(Cloudera\'s Distribution including Apache Hadoop)平台,完全由开放源码软件组成。
- 2009年4月,赢得每分钟排序,59秒内排序500GB(在1400个节点上)和173分钟内排序100TB数据(在3400个节点上)。
- 2009年5月,Yahoo的团队使用Hadoop对1TB的数据进行排序只花了62秒时间。
- 2009年6月,Cloudera的工程师Tom White编写的《Hadoop权威指南》初版出版,后被誉为Hadoop圣经。
- 2009年7月 ,Hadoop Core项目更名为Hadoop Common;
- 2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。
- 2009年7月 ,Avro 和 Chukwa 成为Hadoop新的子项目。
- 2009年8月,Hadoop创始人Doug Cutting加入Cloudera担任首席架构师。
- 2009年10月,首届Hadoop World大会在纽约召开。
- 2010年5月 ,Avro脱离Hadoop项目,成为Apache顶级项目。
- 2010年5月 ,HBase脱离Hadoop项目,成为Apache顶级项目。
- 2010年5月,IBM提供了基于Hadoop 的大数据分析软件——InfoSphere BigInsights,包括基础版和企业版。
- 2010年9月,Hive( Facebook) 脱离Hadoop,成为Apache顶级项目。
- 2010年9月,Pig脱离Hadoop,成为Apache顶级项目。
- 2010年-2011年,扩大的Hadoop社区忙于建立大量的新组件(Crunch,Sqoop,Flume,Oozie等)来扩展Hadoop的使用场景和可用性。
- 2011年1月,ZooKeeper 脱离Hadoop,成为Apache顶级项目。
- 2011年3月,Apache Hadoop获得Media Guardian Innovation Awards 。
- 2011年3月, Platform Computing 宣布在它的Symphony软件中支持Hadoop MapReduce API。
- 2011年5月,Mapr Technologies公司推出分布式文件系统和MapReduce引擎——MapR Distribution for Apache Hadoop。
- 2011年5月,HCatalog 1.0发布。该项目由Hortonworks 在2010年3月份提出,HCatalog主要用于解决数据存储、元数据的问题,主要解决HDFS的瓶颈,它提供了一个地方来存储数据的状态信息,这使得 数据清理和归档工具可以很容易的进行处理。
- 2011年4月,SGI(Silicon Graphics International)基于SGI Rackable和CloudRack服务器产品线提供Hadoop优化的解决方案。
- 2011年5月,EMC为客户推出一种新的基于开源Hadoop解决方案的数据中心设备——GreenPlum HD,以助其满足客户日益增长的数据分析需求并加快利用开源数据分析软件。Greenplum是EMC在2010年7月收购的一家开源数据仓库公司。
- 2011年5月,在收购了Engenio之后, NetApp推出与Hadoop应用结合的产品E5400存储系统。
- 2011年6月,Calxeda公司发起了“开拓者行动”,一个由10家软件公司组成的团队将为基于Calxeda即将推出的ARM系统上芯片设计的服务器提供支持。并为Hadoop提供低功耗服务器技术。
- 2011年6月,数据集成供应商Informatica发布了其旗舰产品,产品设计初衷是处理当今事务和社会媒体所产生的海量数据,同时支持Hadoop。
- 2011年7月,Yahoo!和硅谷风险投资公司 Benchmark Capital创建了Hortonworks 公司,旨在让Hadoop更加可靠,并让企业用户更容易安装、管理和使用Hadoop。
- 2011年8月,Cloudera公布了一项有益于合作伙伴生态系统的计划——创建一个生态系统,以便硬件供应商、软件供应商以及系统集成商可以一起探索如何使用Hadoop更好的洞察数据。
- 2011年8月,Dell与Cloudera联合推出Hadoop解决方案——Cloudera Enterprise。Cloudera Enterprise基于Dell PowerEdge C2100机架服务器以及Dell PowerConnect 6248以太网交换机。
- 2012年3月,企业必须的重要功能HDFS NameNode HA被加入Hadoop主版本。
- 2012年8月,另外一个重要的企业适用功能YARN成为Hadoop子项目。
- 2012年10月,第一个Hadoop原生MPP查询引擎Impala加入到了Hadoop生态圈。
- 2014年2月,Spark逐渐代替MapReduce成为Hadoop的缺省执行引擎,并成为Apache基金会顶级项目。
- 2015年2月,Hortonworks和Pivotal抱团提出“Open Data Platform”的倡议,受到传统企业如Microsoft、IBM等企业支持,但其它两大Hadoop厂商Cloudera和MapR拒绝参与。
- 2015年10月,Cloudera公布继HBase以后的第一个Hadoop原生存储替代方案——Kudu。
- 2015年12月,Cloudera发起的Impala和Kudu项目加入Apache孵化器。
Hadoop能做什么
Hadoop是一种开源的适合大数据的分布式存储和分布式处理的软件平台。用户可以在不了解分布式底层细节的情况下,轻松地在Hadoop上开发和运行处理海量数据的应用程序,充分利用集群的威力进行高速运算和存储。
不管是国外的著名公司Google、Yahoo!、微软、亚马逊、 EBay、FaceBook、Twitter、LinkedIn等和初创公司Cloudera、Hortonworks等,又还是国内的著名公司中国移动、阿里巴巴、华为、腾讯、百度、网易、京东商城等,都在使用Hadoop及相关技术解决大规模化数据问题,以满足公司需求和创造商业价值。
例如:Yahoo! 的垃圾邮件识别和过滤、用户特征建模系统;Amazon.com(亚马逊)的协同过滤推荐系统;Facebook的Web日志分析;Twitter、LinkedIn的人脉寻找系统;淘宝商品推荐系统、淘宝搜索中的自定义筛选功能……这些应用都使用到Hadoop及其相关技术。
“Hadoop能做什么?”,概括如下:
1)搜索引擎:这也正是Doug Cutting设计Hadoop的初衷,为了针对大规模的网页快速建立索引;
2)大数据存储:利用Hadoop的分布式存储能力,例如数据备份、数据仓库等;
3)大数据处理:利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等;
4)科学研究:Hadoop是一种分布式的开源框架,对于分布式系统有很大程度地参考价值。
Hadoop主要有以下几个优点:
- 高可靠性(Rellable):能自动维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。所以Hadoop的按位存储和处理数据的能力值得人们信赖。
- 高扩展性(Scalable):Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
- 高效性(Efficient):Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
- 低成本(Economical):与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。Hadoop通过普通廉价的机器组成服务器集群来分发以及处理数据,以至于成本很低。
Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。
-----------------------------------------------------------------------------------------------------------------------------------------------------------
转载来源:
博客:http://www.cnblogs.com/mephisto/p/4835569.html
博客:https://www.cnblogs.com/zzy0471/p/5701074.html
博客:https://www.cnblogs.com/maybe2030/p/4593190.html
博客:https://www.cnblogs.com/sharpxiajun/p/3151395.html
博客:https://blog.csdn.net/zmx729618/article/details/78529957
博客:https://www.cnblogs.com/meet/p/5435979.html
博客:https://blog.csdn.net/lfq1532632051/article/details/53219558
等等...
以上是关于大数据学习-什么是Hadoop的主要内容,如果未能解决你的问题,请参考以下文章