Hadoop学习-生态体系(ecosystem)概览

0. 大背景

全球No.1搜索引擎公司谷歌(Google)面临每天海量搜索引擎数据的问题,经过长时间的实践积累,

谷歌形成了自己的大数据框架,但是并没有开源,而是发表了一篇论文,阐述了自己的思想,在论文中

提到了MapReduce的方法。这篇论文,被Doug Cutting也就是后来的Hadoop之父所关注,引起了他极大的兴趣。

因为,这个时候,他正在致力于一个项目,该项目需要多任务并行处理大量的数据,他和伙伴努力了多次,结果都不理想。

于是,Doug和他的团队决定基于Google的MapReduce的思想重新开发一个框架。

经过一段时间的努力,于 2005 年秋天作为Lucene的子项目Nutch的一部分正式引入Hadoop项目作为Apache基金会的项目。

Hadoop这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,Doug Cutting解释Hadoop的得名 :“这个名字是我孩子给一个棕黄色的大象玩具命名的。

学习Hadoop建议的参考书:Hadoop权威指南,目前中文版到第3版,英文版已经到Edition 4, 该书的作者Tom White是Hadoop创始团队的核心成员,是Hadoop委员会的成员。

大牛级的人物!!

 

2. 生态体系概览

经过长时间的发展,Hadoop已经形成了自己的生态体系。

有些框架是诸如一些大公司如Yahoo, Facebook团队所开发的,下面我们来看一下它的生态图:

 从上图可以看出,Apache Hadoop包含如下主要组件:

HDFS and MapReduce: 这是Hadoop的核心框架(也就是Doug Cutting和他的团队所开发的)

* HBase, Hive, Pig:          这3个框架主要负责数据存储和查询,分别由不同公司开发,我们后面会介绍到

Flume, Sqoop:              负责数据的导入/导出

* Mahout:                          机器学习和分析

* Zookeeper:                   分布式协调

* Ambari:                     集群管理

* Avro:                             数据存储和序列化

* HCatalog:                        元数据管理

 

3. 各组件分别介绍

1)Apache HBase

由于HDFS是只能追加数据的文件系统,它不允许数据的修改

所以,Apache HBase由此而诞生。

HBase是一个分布式的,随机访问的,面向列的数据库系统。

HBase在HDFS的顶层运行,它允许应用程序开发人员直接读写HDFS数据

但是,唯一的缺陷在于:HBase并不支持SQL语句

所以,它也是NOSQL数据库的一种。

然而,它提供了基于命令行的界面以及丰富的API函数来更新数据。

需要提到的是:HBase中的数据是以键值对的形式存储在HDFS文件系统中的。

 

2)Apache Pig

Apache Pig由Yahoo开发,它提供了在MapReduce之上的抽象层。

它提供了一种叫做Pig Latin的被用来创建MapReduce程序的语言。

Pig Latin被程序员用来编写程序,分析数据,通过它可以创建并行执行的任务,

从而可以更有效地利用Hadoop的分布式集群。

Pig有很多成功的大公司项目案例,如:eBay, LinkedIn, Twitter。

 

3)Apache Hive

Hive被用来作为大数据的数据仓库,它也使用HDFS文件系统来存储数据。

在Hive中我们不编写MapReduce程序,因为Hive提供了一种类SQL语言,叫做HiveQL,

这让开发者能够迅速写出类似关系型数据SQL查询的点对点(ad-hoc)查询

 

4)Apache ZooKeeper 

Hadoop通过节点(nodes)的方式提供相互间的通信。

ZooKeeper便是被用来管理这些节点的,它被用来协调各个节点。

除了管理节点以外,它还维护一些配置信息,并且对分布式系统的服务进行分组。

ZooKeeper可以独立于Hadoop来运行,而不像生态系统中的其它组件一样。

由于ZooKeeper是基于内存来管理信息的,因此它的性能相对来说还是挺高的。

 

5)Apache Mahout

Mahout是一个开源的机器学习库,它能使Hadoop用户高效地进行诸如数据分析,数据挖掘以及集群等一些列操作。

Mahout对于大数据集特别高效,它提供的算法经过性能优化能够在HDFS文件系统上高效地运行MapReduce框架。

 

6)Apache HCatalog

HCatalog在Hadoop的顶层提供元数据的管理服务。

所有运行在Hadoop之上的软件能够使用HCatalog在HDFS文件系统中存储它们的计划(schema)。

HCatalog以REST API的方式使第三方的软件能够创建,编辑和暴露表格的定义以及生成的元数据。

因此,我们通过HCatalog并不需要知道数据的物理位置在那里。

HCatalog提供了数据定义语句(DDL),通过它们MapReduce, Pig, Hive等的工作任务将以队列的形式等待执行,如有需要

还可以监控它们各自的进度。

 

7)Apache Ambari

Ambari被用来监控Hadoop集群。

它提供了一些列特性,诸如:安装向导,系统警告,集群管理,任务性能等。

Ambari也提供了RESTful的API以便与其他软件进行整合。

 

8)Apache Avro

如何用过其它编程语言来有效地组织Hadoop的大数据,Avro便是为了这个目的而生。

Avro提供了各个节点上的数据的压缩以及存储。

基于Avro的数据存储能够轻松地被很多脚本语言诸如Python,或者非脚本语言如Java来读取。

另外,Avro还可被用来MapReduce框架中数据的序列化。

 

9)Apache Sqoop

Sqoop被用来在Hadoop中高效地加载大数据集,例如它允许开发人员轻松地从一些数据源,如:

关系型数据库,企业级数据仓库,甚至应用程序导入/导出数据数据。

 

10)Apache Flume

Flume常被用来进行日志的聚合操作,它被用来作为ETL(Extract-Transform-Load) - 解转加(解压-转换-加载)工具来使用。

 

好了,Hadoop生态体系以及它们的主要组件就大致介绍到这里了!

 

时间: 2024-10-25 13:58:26

Hadoop学习-生态体系(ecosystem)概览的相关文章

Hadoop学习资源集合

Hadoop是一个由Apache基金会所开发的开源分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储.Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取.变形和加载(ETL)方面上的天然优势.Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储. 目录: Awesome Hadoop Hadoop YARN NoSQL Hadoop上的SQL 数据管理 工作流.生命周期及管理 数据提取与整合 DSL 库和工具 实时

与阿里云整个生态体系共同成长,更快更好的为房地产行业客户提供高价值的服务。

免费开通大数据服务:https://www.aliyun.com/product/odps "最早是新业务要做,但是买服务器来不及,管理员没到位,而且新业务的成本很高,是否能成功也是未知,因此明源决定采用阿里云,等资金和人到位再搬到自己内部.然而就是这种误打误撞,却让明源抓住了一个很好的机会走在了正确的轨道上."--副总裁童继龙 "阿里云数加的覆盖面很广,从存储.计算到上层应用,提供了一整套的解决方案,确实起到了马总说的普惠大数据.此外,数加也在不断的迭代,不停的有新产品出现

安全走向开放 建安全架构协同互联生态体系

随着联网设备的增加,安全威胁的来源变得更为广泛.预计到2019年连网设备达到200多亿,而这些联网设备的类型也将更加多样性.大量智能终端访问企业内部数据的需求,以及移动办公.BYOD的兴起,对于企业安全防护带来新的挑战. 攻防态势严重失衡 在互联网+时代,接入设备数量的增长,黑客攻击的入口增多,防范的难度也随之叠加.分析显示,当前安全威胁态势的特点有三大表现,首先企业公有云.私有云的应用,云化趋势迫使形势越来越复杂.其次,攻防时间严重失衡,黑客入侵的周期非常短,75%的攻击在一天内破译,而检测以

阿里云六级生态体系及六大合作伙伴范畴

<专访阿里云总裁王文彬:做出"用得爽"的工程产品>一文,用了相当笔墨描写阿里云生态体系.王文彬(菲青)当时明确表示:"我们正在加紧布局生态体系,已经规划了新的体系.有计划进行公布,其中也包含扶植计划." 阿里云计算公司总裁及阿里巴巴集团副总裁 王文彬 一个月之后,8月19日,阿里云宣布正式启动"云和计划",六级体系拟招募10000家云服务商,为更多用户提供一站式云服务. 打造六级体系生态系统 云计算的爆发已经不可逆转.最新数据显示,2

互联网广告生态体系的希望与纠结

一个庞大的互联网广告生态体系已经形成,关键的基础就是对用户数据的收集和分析. 作者:匡冬芳 不久前,一家化妆品公司推出一款新化妆品,他们找到徐鹏来谈广告投放.客户想知道的第一个问题是:我们品牌在你们媒体数据库里的受众群体有多少?徐鹏根据品牌关键字导出数据库,显示有50万cookies(cookies是网站为了辨别用户身份.进行session跟踪而储存的数据).客户的第二个问题是:要精准触达到这50万cookies,需要多少预算?按照科学的精准投放模型,用户一般接触媒体广告的有效到达率是30%,也

IBM举行云计算发布会 携手合作伙伴打造云生态体系

今天,IBM 创新中心隆重召开了云计算发布会.与以往不同的是,此次发布会直接面向本地合作伙伴,通过 IBM 创新中心这一窗口,向独立软件开发商.系统集成商介绍了 IBM 云计算的最新战略与计划,全面推动了 IBM 云计算生态体系的建立.这是继 8月 23日 IBM 正式发布云计算战略及路线图以来,在云计算领域的又一重要推进.IBM 大中华区副总裁及渠道事业部总经理郑小聪.IBM 大中华区创新中心总经理谢勤芳带领 IBM 云计算专家团队与众多 IBM 合作伙伴共同出席了此次大会. 随着企业业务及技

Hadoop学习笔记一 简要介绍

这里先大致介绍一下Hadoop. 本文大部分内容都是从官网Hadoop上来的.其中有一篇介绍HDFS的pdf文档,里面对Hadoop介绍的比较全面了.我的这一个系列的Hadoop学习笔记也是从这里一步一步进行下来的,同时又参考了网上的很多文章,对学习Hadoop中遇到的问题进行了归纳总结. 言归正传,先说一下Hadoop的来龙去脉.谈到Hadoop就不得不提到Lucene和Nutch.首先,Lucene并不是一个应用程序,而是提供了一个纯Java的高性能全文索引引擎工具包,它可以方便的嵌入到各种

图存储结构-请教Hadoop学习相关问题

问题描述 请教Hadoop学习相关问题 刚开始学习hadoop 求教 1:有java基础,如何学习Hadoop 2:有向图如何在hadoop 中存储,边没有权重,但是每个节点有很多属性 解决方案 最好是网上买份视频,或者去查查资料,多动手,多理解,就会了

大数据创新生态体系,引燃新的产业突破与高校转型

理解大数据创新生态体系的战略布局,首先要从数据中国"百校工程"开始. 按照国家<促进大数据发展行动纲要>和<"十三五"国家战略性新兴产业发展规划>决策部署,不难看出,大数据的出发点是数据强国,通过数据整合分析和深度挖掘,发现规律.创造价值,进而推动国家创新驱动发展战略.创造性的落实大数据产业发展战略,高校责无旁贷.只有在探索校企合作新模式和新机制,加快培养大数据产业人才的基础上,才可能真正理解大数据创新生态体系的战略意图. 大数据时代,线上与