Hadoop

一、前言:

  非常感谢Hadoop专业解决方案群:313702010,兄弟等的拼命支持,在斯说一样名声辛苦了,经过简单完美之用力,已经发生哪初步的硕果,目前第1章
大数据以及Hadoop生态圈小组已经翻完成,在斯对:译者:贾艳成 QQ:496830205
表示感谢。

仲、意见收集:

  本章节由《Hadoop专业解决方案群:313702010》翻译小组就,为小组校验稿,已经经过小组中校验通过,特此面向网络收集意见,如果对本章节内容有另异议,请以评头论足着加以说明,说明时,请标明行号,也可以为修订的计,发送给自家。非常感谢。

老三、原书说明

  英文原书《Wrox.Professional.Hadoop.Solutions》第一段,请参见英文原稿。

季、翻译原稿

第一回     大数额及Hadoop生态圈

本章主要内容:

  • 知情非常数量的挑战
  • 了解Hadoop生态圈
  • 了解Hadoop发行版
  • 动基于Hadoop的营业所级应用

卿或许听旁人说了,我们生存在“大数额”的条件中。技术驱动在当今世界的进化,计算能力很快增长,电子装置越常见,因特网越来越容易接通,与此同时,比过去其他时刻还多的数额正在给传和采访。

号正为惊人之进度发出多少。仅Facebook每天便会采集 250 TB
的数码。Thompson Reuters News Analytics
(汤普森路透社新闻分析)显示,现在数字数据的总量较2009年底1ZB(1ZB同一于一百万
PB)多了有限倍增多,到 2015 年有或将高达7.9ZB,到 2020
年虽说生或会见及35ZB。其他调查机构还做出了重复胜之前瞻。

乘势公司有并征集之数据量增多,他们开认识及数量解析的重大。但是,他们要先行中地保管好自己有所的大方信息。这会有新的挑战:怎样才能存储大量底数额?怎样处理它们?怎样快速地剖析她?既然数据会追加,又哪构建一个但扩大的缓解方案?

非但研究人员及数码科学家要给数据的挑战。几年前,在Google+
大会上,计算机书籍出版者Tim O’Reilly引用过Alistair
Croll的语,“这些发生了大量的甭管显著规律数据的庄,正在为那些有了针锋相对较少之发规律数据的新创建店代……”。简而言之,Croll想要说,除非你的店堂“理解”你富有的数据,否则你的信用社无法同那些“理解”自身数据的铺面抗衡。

店就发现及:大数额及买卖竞争、态势感知、生产力、科学及更新相当仔细相关,分析这些很数目会得到巨大的效力。因为商贸竞争正在使很数额解析,所以大部分合作社认同O’Reilly和Croll的意见。他们认为现在供销社之生活依赖让储存、处理同分析大气信息的能力,依赖让是否掌控了纳大数量挑战的力。

使您读书这本开,你以见面熟悉这些挑战,熟悉Apache的Hadoop,并且懂得Hadoop可以缓解什么问题。本章主要介绍好数据的前景及挑战,并且概述Hadoop及其零件生态圈。可以运用这些零部件构建而扩大、分布式的数目解析解决方案。

1.1 当大数据遇到Hadoop

是因为“人力资本”是一个无形之、对成功至关重要的因素,所以大部分店铺都以为她们之职工才是他俩太有价之财产。其实还有另外一个关键因素——企业所负有的“信息”。信息但信度、信息量和信可访问性可以加强商家信息能力,从而使企业做出还好之裁决。

使理解企业产生的豁达底数字信息是蛮窘迫的。IBM指出在过去独自两年的时刻里发生了世界90%底数。企业正搜集、处理与仓储这些可能成战略资源的数码。十年前,Michael
Daconta, Leo Obrst, and Kevin T.Smith (Indianapolis: Wiley,
2004)写的等同本书《The Semantic Web: A Guide to the Future of XML, Web
Services, and Knowledge
Management》中生句格言“只有所有无限好之音,知道什么样发现信息,并能够尽抢用信息之信用社才会立于不败之地”。

文化就是力。问题是,随着搜集的多寡进一步多,传统的数据库工具将不可知管理,并且迅速处理这些数量。这将促成公司“淹没”在好的数目中:不可知管用采取数据,不能够明了数据中的关联,不克懂数据潜在的巨大力量。

人们用“大数目”来叙述过于庞大的数据集,这些数据集一般无法利用传统的用于存储、管理、搜索以及分析等过程的家伙来拍卖。大数额有无数来源,可以是结构型的,也可是非结构型的;通过拍卖及分析颇数目,可以窥见其中规律与模式,从而做出明智选项。

哎是不行数量的挑战?怎么存储、处理及剖析如此好的数据量,从而从海量数据中获取有因此信息?

分析颇数目,需要大量之仓储空间及极品计算处理能力。在过去的十年遭受,研究人员尝试了各种的主意来缓解数字信息增加拉动的题材。首先,把第一在了吃单个计算机更多之囤、处理能力及内存等方面,却发现单台计算机的辨析能力连无克化解问题。随着日之延迟,许多组织落实了分布式系统(通过多台计算机分布任务),但是分布式系统的数解析解决方案往往深复杂,并且爱错,甚至快不够快。

以2002年,Doug Cutting和Mike
Cafarella开发一个称呼也Nutch的类(专注让解决网络爬虫、建立目录和摸索网页的寻引擎项目),用于拍卖大量信息。在为Nutch项目解决存储和拍卖问题的长河被,他们发现及,需要一个保险的、分布式计算方法,为Nutch收集大量网页数据。

同等年后,谷歌发表了有关谷歌文件系统(GFS)和MapReduce的论文,MapReduce是一个于是来处理大型数据集的算法和分布式编程平台。当发现及集群的分布式处理和分布式存储的前景后,Cutting和Cafarella把这些论文作为基础,为Nutch构建分布式平台,开发了咱们所熟知的Hadoop分布式文件系统(HDFS)和MapReduce。

在2006年,Yahoo在吗寻引擎起大气消息的目录的经过遭到,经历了“大数据”挑战的挣扎后,看到了Nutch项目之前景,聘请了Doug
Cutting,并快速决定使用Hadoop作为该分布式架构,用来解决查找引擎方面的题目。雅虎剥离出去Nutch项目之贮存和拍卖部分,形成Apache基金的一个开源项目Hadoop,与此同时Nutch的大网爬虫项目保友好独立性。此后快,雅虎开始动Hadoop分析各种成品以。该平台十分实惠,以至于雅虎把搜索业务以及广告业务合并成一个单元,从而又好地动Hadoop技术。

于过去的10年吃,Hadoop已经打寻觅引擎相关的阳台,演变为极端盛行通用的盘算平台,用于解决那个数额带动的挑战。它正飞速化新一代依据数的应用程序的底蕴。市场研究公司IDC预计,到2016年,Hadoop驱动之充分数额市场将跳23亿美元。自从2008年树第一贱坐Hadoop为核心的公司Cloudera之后,几十下因Hadoop的创业企业引发了数亿美元的风险投资。简而言之,Hadoop为企业供了一个实惠的法门,来进行充分数量解析。

1.1.1 Hadoop:迎接大数额挑战

Apache的Hadoop通过简化数据密集型、高度并行的分布式应用的实现,以此迎接大数目的挑战。世界各地的铺、大学及另外团体还以采用Hadoop,Hadoop把任务分成任务片,分布在数千雅计算机达,从而进行快速分析,并分布式存储大量之数目。Hadoop利用大量廉价的计算机,提供了一个只是扩大强,可靠性强之建制;并以廉价的方来囤积大量数额。Hadoop还提供了初的跟改进之分析技术,从而使大量结构化数据的复杂性分析变为可能。

Hadoop与以前的分布式方法的区别:

  • 数据先进行分布式存储。
  • 于集群达备份多卖数据,从而来提高可靠性和实用性。数据在啊存储就在啊处理,从而免去了牵动富瓶颈问题。

此外,Hadoop隐藏了复杂的分布式实现过程,提供了一致栽简易的编程方法。从而,Hadoop得以提供强有力的数据解析机制,包括以下内容:

  • 积存量非常——Hadoop能够如应用程序运行在多的微机和PB级数据达。在过去的十年吃,计算机专家认识及,那些都只能出于超级计算机来拍卖的胜性能应用,可以由大量廉价的微机一起处理。在集结众多被,数百台“小”的处理器的会师计算能力,可以跨同样大跨级计算机的测算能力,并且价格便宜。Hadoop利用超过数千宝机器的集群,在信用社得以承受之价限制外,提供了宏伟的积存空间以及处理能力。
  • 分布式处理同快快的数额看——Hadoop集群在供高速数据存储能力的又,也提供了快速的数码看能力。在Hadoop出现之前,应用程序很不便并行运行于电脑集群内。这是为集群模型在开创共享存储数据经常,对I/O性能要求老高。用Hadoop来拍卖多少,减轻了成千上万胜过性能的挑战。此外,Hadoop应用程序处理数量一般还是板上钉钉展开的,这就是避免了任性的数额看(磁盘寻道操作),进一步减轻了I/O负载。
  • 可靠性,故障转移与而扩展性——在过去,并行应用程序很为难化解集群达机械的可靠性问题。虽然单台机器的可靠性相当高,但是就群集增加,出故障的票房价值为跟着大增。在数千只节点的集群达,这种平凡故障时有。由于Hadoop有异样之统筹以及履行方式,相同的故障将见面产生相似之结果。从而,Hadoop可以监测及这些故障,并采用不同的节点重新履行任务。此外,Hadoop有死好的但是扩展性,实现无缝地用大半只服务器整合及一个集群,并以它来囤积数据、执行顺序。

于大多数Hadoop用户而言,Hadoop最着重之特点是,将事情规划和基础设备保护进行了清的分。为那些专注让经贸工作的用户,隐藏了Hadoop的基本功设备的错综复杂,并提供了一个便于使的平台,从而使复杂的分布式计算的题材简单化。

1.1.2 商业界的数据科学

Hadoop的囤和处理好数据的能力时和“数据正确”挂钩。虽然该词是由彼得·诺尔于20世纪60年份提出的,但是截至日前才引起人们广泛关注。美国雪域大学杰弗里·斯坦顿德教授把“数据正确”定义也“一个专注于搜集、分析、可视化、管理及大度音保存之新兴领域”。

一般说来用“数据是”这无异于术语用当商贸事务分析面临,与实际被的“大数目”学科有良可怜之不同。在数码是中,业务分析师通过研讨现有商业运作模式,来提升工作。

数量科学的目标是于数量提取出数的实在含义。数据科学家因数学、统计分析、模式识别、机器上、高性能计算和数据仓库等来干活,通过分析数据来发现东西发展趋势,并基于收集至之音讯开发新工作。

在过去底几年被,许多数据库暨编程方面的业务分析师改为了数科学家。他们以Hadoop生态圈中,使用高级的SQL工具(比如:Hive或者实时Hadoop查询工具)进行多少解析,以做出明智之工作决策。

不但是“一个雅数据库”

于本书后边会深入讲解Hadoop,但在此之前,让咱们事先破这样的误区——Hadoop仅仅是数量分析师使用的家伙。因为对此那些耳熟能详数据库查询的人数,Hadoop工具(如Hive和实时Hadoop查询)提供了比较逊色的奥妙,所以有丁当Hadoop仅仅是盖数据库也基本的工具。

此外,如果您正在准备缓解的题目超过了数据解析的范畴,并涉嫌到真正的“科学数据”的题目,这时,SQL数据挖掘技术以明显变得不再实用。例如,大多数题材之解决,需要用到线性代数和其余复杂的数学应用程序,然而,这些题材还不能够因此SQL很好地解决。

眼看代表,使用Hadoop工具是缓解这看似问题的极度好办法。利用Hadoop的MapReduce编程模型,不但解决了多少是的题目,而且肯定简化了公司级以创建和部署的长河。可以由此强办法完成就或多或少——可以利用一些家伙,这些工具往往要求开发者具备软件开发技能。例如,通过利用基于Oozie的应用程序进行协调(在本书后边将详细介绍Oozie),可以简化多独应用程序的集中过程,并非常灵活地链接来自多个器的任务。在本书中,你见面见到Hadoop在合作社受的骨子里行使,以及什么时候使用这些家伙。

眼下Hadoop的开发,主要是为还好地支持数据科学家。Hadoop提供了一个劲的计平台,拥有高扩展性和并行执行能力,非常适合应用叫新一替功能强大的数量正确及商社级应用。并且,Hadoop还提供了而伸缩的分布式存储和MapReduce编程模式。企业方使Hadoop解决有关业务问题,主要集中在以下几只地方:

  • 也银行及信用卡号增长欺诈性检测——公司正以Hadoop检测交易过程中之欺骗行为。银行通过动用Hadoop,建立大型集群,进行多少解析;并将分析范应用被银行交易过程,从而提供实时的骗行为检测。
  • 张罗媒体市场分析——店目前方采取Hadoop进行品牌管理、市场推广活动及品牌保护。互联网充满了各种资源,例如博客、版面、新闻、推特同社会媒体数据等。公司用Hadoop监测、收集、汇聚这些信,并取、汇总自身的活以及劳动信息,以及竞争对手的连锁消息,发掘内在商业模式,或者预测未来底也许趋势,从而越了解自己的作业。
  • 零售行业购物模式分析——在零售行业,通过行使Hadoop分析公司的位置和它周围人底购物模式,来规定公司里怎么产品极畅销。
  • 市发展之通畅模式识别——都会发展屡得依赖交通模式,来确定道路网络扩张的需要。通过监督在同龙外不同时的交通状况,发掘交通模型,城市规划人员即得确定交通瓶颈。从而决定是否要加街道或者车道,来避免以险峰时段的交通拥堵。
  • 内容优化和情节与——店更是小心让优化内容,将其展现于不同之设备及,并支持不同格式。因此,许多传媒公司要处理大量之例外的格式的情。所以,必须设计内容与模式,才会进行汇报和改善。
  • 网络分析和斡旋——对交易数据、网络性数据、基站数量、设备数量和任何花样之后台数据等,进行深数额实时分析,能够降低企业运营成本,增强用户体验。
  • 好数量易——纽约时报要将1100万篇稿子(1851交1980年)转换成为PDF文件,这些章都是从报纸及扫描获得的图纸。利用Hadoop技术,这家报社能够当24钟头外,将4TB底扫描文章转换为1.5TB的PDF文档。

恍如之例证举不胜举。企业方日益采取Hadoop进行数量解析,从而作出更好之战略决策。总而言之,数据对早已进来了商界。

不但是本着经贸的老数量工具

尽管如此此的多数例针对为商业,但是Hadoop也为广泛应用在学术界和国有企业。

近来同样件由美国科技基金会进行的钻研指出,医疗研究人口曾经说明,大数额解析可以被用来分析癌症患者的信息,以加强诊疗作用(比如,苹果创始人乔布斯的治病过程)。警察机关正在使好数额工具,来预测犯罪或的出时和地方,从而降低了犯罪率。同样的查证也表明,能源方面的管理者正利用大数据工具,分析相关的能量消耗和地下的电网故障问题。

经过分析深数额可窥见型与可行性,提高效率,从而用新措施来作出更好之裁决。

1.2 Hadoop生态圈

绑架构师和开发人员通常会采用同一栽软件工具,用于其一定的用处软件开发。例如,他们唯恐会见说,Tomcat是Apache
Web服务器,MySQL是一个数据库工具。

而是,当干Hadoop的下,事情变得有些复杂。Hadoop包括大气的家伙,用来协同工作。因此,Hadoop可用来完成许多政工,以至于,人们常常因他们下的艺术来定义其。

对此有人数的话,Hadoop是一个数据管理网。他们当Hadoop是数解析的主干,汇集了结构化和无结构化的数据,这些数据分布在传统的店数据栈的各国一样层。对于其他人,Hadoop是一个广泛并行处理框架,拥有最佳计算能力,定位为推进企业级以之实施。还有局部人觉得Hadoop作为一个开源社区,主要也釜底抽薪很数额的题目提供工具与软件。因为Hadoop可以就此来缓解过剩题材,所以多人数认为Hadoop是一个中坚框架。

则Hadoop提供了这样多的效能,但是还当拿她归类为多独零件组成的Hadoop生态圈,这些组件包括数据存储、数据并、数据处理及另进行数量解析的专门工具。

1.3  HADOOP核心部件

趁着时空之延迟,Hadoop生态圈越来越老,图1-1给有了Hadoop核心组件。

 

图1:Hadoop生态圈的为主组成组件

从图1-1的平底开始,Hadoop生态圈由以下内容组成:

  • HDFS——
    Hadoop生态圈的中坚有是Hadoop分布式文件系统(HDFS)。HDFS是一模一样栽多少分布式保存机制,数据让保存于电脑集群达。数据形容副一涂鸦,读取多次。HDFS为HBase等工具提供了基础。
  • MapReduce——Hadoop的要紧实施框架是MapReduce,它是一个分布式、并行处理的编程模型。MapReduce把任务分为map(映射)阶段与reduce(化简)。开发人员使用存储于HDFS中数据(可实现长足储存),编写Hadoop的MapReduce任务。由于MapReduce工作原理的特色,
    Hadoop能坐彼此的主意访数,从而实现快速访问数据。
  • Hbase——HBase是一个起以HDFS之上,面向列的NoSQL数据库,用于快速读/写大量数。HBase使用Zookeeper进行保管,确保有组件都例行运作。
  • Zookeeper
    ——用于Hadoop的分布式协调服务。Hadoop的广大零部件依赖让Zookeeper,它运行在电脑集群上面,用于管理Hadoop操作。
  • Oozie——Oozie是一个只是扩大的做事体系,集成于Hadoop的库,用于协调多独MapReduce作业的实行。它会管理一个犬牙交错的网,基于外部事件来执行,外部事件包括数据的定时和多少的产出。
  • Pig——它们是MapReduce编程的纷繁的空洞。Pig平台包括运转条件暨用来分析Hadoop数据集的脚本语言(Pig
    Latin)。其编译器将Pig Latin翻译成MapReduce程序序列。
  • Hive
    ——Hive类似于SQL高级语言,用于周转存储于Hadoop上之询问语句,Hive让不熟悉MapReduce开发人员也能编数据查询语句,然后这些讲话为翻译啊Hadoop上面的MapReduce任务。像Pig一样,Hive作为一个抽象层工具,吸引了过多耳熟能详SQL而休是Java编程的多少分析师。

Hadoop的生态圈还连以下几单框架,用来和任何合作社各司其职:

  • Sqoop凡是一个连连工具,用于在关系数据库、数据仓库和Hadoop之间变换数据。Sqoop利用数据库技术描述架构,进行数据的导入/导出;利用MapReduce实现并行化运行与容错技术。
  • Flume供了分布式、可靠、高效的劳动,用于收集、汇总大数额,并将只有台计算机的大度数易至HDFS。它根据一个概括而活的架构,并提供了数据流的流。它以简易的但扩大的数据模型,将商店中多台计算机上之数易至Hadoop。

除外当觊觎1-1所展示之核心部件外,Hadoop生态圈正在不停加强,以供创新功能以及零部件,如以下内容:

  • Whirr——Whirr是相同组用来运作云服务的Java类库,使用户会轻松地以Hadoop集群运行于Amazon
    EC2、Rackspace等虚拟云计算平台。
  • Mahout——Mahout是一个机上与数据挖掘库,它提供的MapReduce包含众多兑现,包括聚类算法、回归测试、统计建模。通过利用
    Apache Hadoop 库,可以以Mahout有效地扩张及云中。
  • BigTop ——
    BigTop作为Hadoop子项目和系组件,是一个用于打包和互用性测试的程序及框架。
  • Ambari——Ambar通过也布局、管理以及监控Hadoop集群提供支撑,简化了Hadoop的保管。

Hadoop家族成员在慢慢增加。在本书中,主要涉及到了三独新的Apache
Hadoop孵化项目。

抱项目演变到Apach项目之进程

脚将会见简单介绍Apache基金会的周转方式,以及Apache各种门类及其彼此之间的关系。Apache的私房会员一齐治理总体集团,Apache提供品类的缔造、成熟与回收。

初的档次起受“孵化器”。建立Apache孵化器,是为帮新类型进入Apache。Apache提供管理暨考查,经过筛选后,再树新的品种还是子项目。在开创孵化项目后,Apache会评估项目之成熟度,并负责用孵化器中之路“毕业”到Apache项目或子项目。孵化器也会由各种原因只要平息一些档次。

倘查孵化器中列(当前之、孵化成功的、暂时平息的和回收的)的完全列表,可以经此网址:http://incubator.apache.org/projects/index.html。

今大部分底Hadoop方面的图书,要么专注让Hadoop生态圈中某个独立组件的叙说,要么介绍如何行使Hadoop业务分析工具(如Pig和Hive)。尽管这些地方呢十分重大,但是这些图书通常没有进行深刻的叙说,并无克帮助架构师建立根据Hadoop的公司级应用或复杂应用。

1.4 Hadoop发行本

则Hadoop是开源的Apache(和现行GitHub)项目,但是当Hadoop行业,仍然出现了汪洋底新生企业,以帮忙人们再次便民地采取Hadoop为目标。这些合作社大多以Hadoop发行本展开包装、改进,以确保所有的软件同步坐班,并提供技术支持。现在,Apache自己也当开还多之家伙来简化Hadoop的利用,并扩张其力量。这些工具是专有的,并有差别。有的工具化了Apache
Hadoop家族被新路的根底。其中,有些是透过Apache2许可的开源GitHub项目。尽管有所这些铺面都基于Apache
Hadoop发行版,但是他们还与Hadoop的愿景有矣细微之例外——应该选择哪个方向,怎样完成其。

这些铺面内最为酷之分是:Apache源代码的运。除了MapR公司以外,都当Hadoop应该由Apache项目的代码定义。相反,MapR认为Apache的代码只是实施参考,可以因Apache提供的API来实现协调之求。这种办法使得MapR做出了很怪的换代,特别是在HDFS和HBase方面,MapR让这点儿单基本Hadoop的储存机制进一步可靠、更加高性能。MapR还推出了快网络文件系统(NFS),可以看HDFS,从而大大简化了一部分公司级应用的集成。

来一定量只关注度比较高的Hadoop发行版,分别由亚马逊和微软披露。两者都提供Hadoop的预先安装版本,运行为相应的提服务平台(Amazon
or
Azure),提供PaaS服务。它们还提供了扩大服务,允许开发人员不仅能够以Hadoop的地面HDFS,也可经过HDFS映射利用微软以及雅虎的数目存储机制(Amazon的S3,和Azure的Windows
Azure存储机制)。亚马逊还提供了,在S3上面保存和还原HBase内容的法力。

表明1-1亮了要的Hadoop发行本的最主要特点。

表1: 不同的Hadoop供应商

供应商

HADOOP特性

Cloudera CDH,个人版和企业版

CDH基于Hadoop2,(撰写本文时为4.1.2版本)包括HDFS,YARN,HBas,MapReduce,Hive, Pig, Zookeeper, Oozie, Mahout, Hue以及其他开源工具(包括实时查询引擎Impala)。Cloudera的个人免费版包括所有CDH工具,和支持高达50个节点的集群管理器。Cloudera企业版提供了更复杂的管理器,支持无限数量的集群节点,能够主动监控,并额外提供了数据分析工具。

Hortonworks数据平台

发行版(Alpha 2.0版)基于Hadoop2,包括HDFS,YARN, HBase, MapReduce, Hive, Pig, HCatalog, Zookeeper, Oozie, Mahout, Hue, Ambari, Tez,实时版Hive(Stinger)和其他开源工具。Hortonworks提供了高可用性支持、高性能的Hive ODBC驱动和针对大数据的Talend Open Studio。

MapR

基于Hadoop1,发行版(撰写本文时为版本M7)包括HDFS, HBase, MapReduce, Hive, Mahout, Oozie, Pig, ZooKeeper, Hue以及其他开源工具。它还包括直接NFS访问、快照、“高实用性”镜像、专有的HBase实现,与Apache完全兼容的API和一个MapR管理控制台。

IBM InfoSphere BigInsights

基于Hadoop1,提供了两个版本。基本版包括HDFS, Hbase, MapReduce, Hive, Mahout, Oozie, Pig, ZooKeeper, Hue以及其他一些开源工具。并提供IBM的安装程序和数据访问工具的基本版本。企业版增加了复杂的作业管理工具、集成了数据源的数据访问层和BigSheets(类似电子表格的界面,用来操作集群中的数据)。

GreenPlum的Pivotal HD

在撰写本文时,最新版基于Hadoop2,包括HDFS, MapReduce, Hive, Pig, HBase, Zookeeper, Sqoop, Flume和其他开源工具。Pivotal HD企业级还增加了先进的HAWQ数据库服务(ADS),和丰富、成熟、并行的SQL处理工具。

亚马逊弹性MapReduce(EMR)

在撰写本文时,最新版基于Hadoop1。亚马逊EMR是一个web服务,能够使用户方便且经济高效地处理海量的数据。它采用Hadoop框架,运行在亚马逊弹性计算云EC2和简单存储服务S3之上。包括HDFS(S3支持),HBase(专有的备份恢复),MapReduce,, Hive (Dynamo的补充支持), Pig, and Zookeeper.

Windows Azure的HDlnsight

HDlnsight基于Hortonworks数据平台(Hadoop1),运行在Azure云。它集成了微软管理控制台,易于部署,易于System Center的集成。通过使用Excel插件,可以整合Excel数据。通过Hive开放式数据库连接(ODBC)驱动程序,可以集成Microsoft SQL Server分析服务(SSAS)、PowerPivot和Power View。Azure Marketplace授权客户连接数据、智能挖掘算法以及防火墙之外的人。Windows Azure Marketplace从受信任的第三方供应商中,提供了数百个数据集。

当然,大量的发行本让您疑惑“我应该以谁发行本?”当企业/部门控制动用一个实际的本时,应该考虑以下几点:

技术细节——包括Hadoop的版本、组件、专有功能部件等等。

爱部署——使用工具箱来促成管理的配置、版本升级、打补丁等等。

善维护——主要不外乎集群管理、多为重的支撑、灾难恢复支持等等。

资产——包括针发行版的实施资本、计费模式及许可证。

柜并的支持——Hadoop应用程序与信用社面临其他有的合。

本的抉择乘让,你打算利用Hadoop来解决哪些问题。本书中的座谈以及本无关,因为作者看中的是每个发行本供的价。

1.5 用Hadoop开发企业级以

为满足大数量带动的初挑战,需要还考虑构建数据解析的次的方。传统的以数据库中蕴藏数据,构建应用程序的道,对于大数量处理将不再有效。主要因:

  • 传统的应用程序基于事务处理型数据库,这种数据库将不再为Hadoop支持。
  • 乘存储在Hadoop上的数据量增大,实时访问仅仅能访问到集群达的相同局部数据。
  • Hadoop的海量数据存储功能可以储存更多之数据集版本,不会见如风方法同样遮住原始数据。

于是,一个杰出的依据Hadoop的店堂级以如图1-2所著。在这些使用被,包括数据存储层、数据处理层、实时访问层和安全层。要促成这种系统布局,不仅需要知道Hadoop组件所涉及的API,而且要明白他们之效力跟局限性,以及每个组件在整体架构中的意图。

要是图1-2所著,数据存储层包括来自数据以及中级数据。源数据要来源于这些外部数据源,外部数据源包括企业应用程序、外部数据库、执行日志与另数据源。中间数据结果来自Hadoop的行进程,它们被Hadoop的实时应用程序使用,并提交给其它应用程序和极端用户。

 

图1-2: Hadoop企业级应用

好用不同的体制以自数据易至Hadoop,包括:Sqoop,Flume,直接装HDFS作为一个网络文件系统(NFS),或者用Hadoop的实时服务同应用程序。在HDFS中,新的数额不见面盖现有数据,而是新建一个数据版本。这同一触及杀关键,因为HDFS是一个“写一赖”的文件系统。

对数据处理层,Oozie预处理源数据,并以该转移为中数据。不同于来数据,中间数据会吃埋,没有多只版本,所以中数据量不见面好酷。

对实时访问层,Hadoop的实时应用程序既支持直接数据访问,也支撑因数据集的造访。这些应用程序读取因Hadoop的中等数据,并拿自数据存储于Hadoop。该应用程序也可用于服务用户,或者用于其他合作社之Hadoop集成。

来源数据用来存储和开始处理数据,中间数据用于传递和构成数据。因为运用了自数据及中路数据了分离的组织,所以同意开发人员在尚未另外事务处理需求的景况下,构建任何虚拟与复杂性的应用程序。通过中预处理过程,明显回落了劳动数据量,使得实时数据看更灵敏。

HADOOP扩充性

则众文章认为,对于开发人员来讲,Hadoop隐藏了根的复杂性。但是,其实是这些章没有充分认识到Hadoop的但是扩大。

经过设计Hadoop的实现方式,可以要开发人员轻松、无缝地合一新的功力到Hadoop中执行。Hadoop明确指定一些类库来顶住MapReduce执行之不同等级。通过这种办法,满足了开发者执行一定问题之要求,从而保证每一个功课为最低资本、最高性能性能来实行。

可以自定义Hadoop执行之以下内容:

  • 由定义Hadoop并行执行问题之点子,包括于分的点子及施行的职务
  • 支撑新的输入数据类型和数量一定
  • 支持新的输出数据类型
  • 自打定义输出数据的岗位

本书来一部分情节,在他人工作成果的根基及,对由定义方法,以及贯彻方式进行了特别的叙说。

本书涵盖了Hadoop企业级以之享有主要层,如图1-2所显示。

第2回介绍了构建数据层的章程,包括HDFS和HBase(架构和API)。然后,对双方进行对比分析,以及怎样用HDFS和HBase相结合。本章还介绍了Avro(Hadoop的新的序列化框架),以及它以仓储或看数中的图。最后,你用了解HCatalog,以及用她来举行广告及做客数的法子。

本书以针对数据处理进展了大量的讲述。对于应用程序的多寡处理部分,笔者建议以MapReduce和Oozie。

于本书中,为什么以MapReduce源码为着力?

乃或许会见问,为什么本书以重点放在MapReduce源码上,而未是可给MapReduce编程变得重复简便的高等语言方面。你得当网上或Hadoop社区内,找到多有关这点的议论。在这些议论中吃出之说是,MapReduce源码量(就代码行数而言)比提供平等之效益的Pig源码量通常如果多森。尽管就是一个不咋样的实情,不过还有一些别因素:

  • 并无是呀还足以描述为同栽尖端语言。有些任务,更可下传统的Java代码来施行。
  • 假定你写的代码仅用实施同一差,那么代码的行数可能针对你大关键。但是,如果您正编纂企业级以,那么你应当考虑其他标准,包括性能、可靠性与安全性。通常状态下,MapReduce源码提供了还多之路线,从而又易实现这些特质。
  • MapReduce通过打定义方式,为用户提供的重新多职能,以进一步提高应用程序的习性、可靠性与安全性。

当第3段中,您将了解MapReduce的架构、主要构成及编程模型。本章介绍了MapReduce的应用程序设计、设计模式和MapReduce注意事项。本章还提介绍MapReduce的履行是哪些贯彻之。正使所涉的,MapReduce最强的风味有是她好自定义执行。第4章会介绍起定义选项的详细信息,并举例说明。第5节通过演示实例,对MapReduce进一步讨论,构建可靠的MapReduce应用。

尽管MapReduce功能异常强劲,但是于一个切实的缓解方案,通常需用大半只MapReduce应用集合到当一齐。这个进程非常复杂,通过下Hadoop的Workflow/Coordinator(工作流/协调员)引擎,可以让大大简化MapReduce应用的合一。

Oozie的价值

Oozie是Hadoop中最易受低估的零件。很少有人(甚至没有)在Hadoop书籍讨论这极其重要的零部件。本书不但彰显了Oozie什么可以做,而且还提供了一个端到端的例子,用来显示什么采取Oozie功能来缓解实际问题。类似于Hadoop的其余部分,Oozie的作用吗具有老好之扩展性。开发者可以通过不同的法门来扩张Oozie的效能。

每当Hadoop中,最爱被低估的挑战是:将Hadoop执行及商店处理的其余部分进行结合。使用Oozie来协调MapReduce应用,并透过公开Oozie
API的不二法门公开了Hadoop进程。通过这种方式,你会杀容易就找到更好之并方法,对Hadoop处理同店家处理部分进行合并。

第6章描述了Oozie是啊,Oozie的网布局、主要做、编程语言及履行模型。为了更好地说每个Oozie组件的功力和角色,第7回通过应用Oozie应用解决端到端的其实问题。第8节中,通过展示Oozie的有高级功能,对Oozie进一步描述。这些高级功能包括从定义Workflow活动、动态生成Workflow和支持超级JAR文件(一个分包了独具的保险及其依赖关系之JAR文件)。

第9段要教学实时访问层。该章首先介绍了一个工业中实时Hadoop应用实例,然后对落实方式提出了整架构。接着,介绍了立这种实现之老三种植要措施——基于HBase的应用程序、实时查询和基于流的处理。本章介绍了一体化架构,并提供了根据HBase实时使用之有数个例子。然后,描述了一个实时查询系统布局,并讨论了一定量只实际的贯彻——Apache
Drill 和 Cloudera’s
Impala。还介绍了实时查询以及MapReduce的自查自纠。最后,您将了解因Hadoop的繁杂事件处理,以及个别只具体的贯彻——Strom和HFlame。

出公司级应用得大量之设计,以及信息安全者的国策。第10节将根本讲解Hadoop的安康模型。

就云计算的迈入,许多铺尝以他们的Hadoop运行在云上。第11章节的根本是,通过以EMR实现,在亚马逊底云上运行Hadoop应用;并且介绍了其他AWS服务(如S3),用来补充Hadoop的机能。本章还介绍了,通过使用不同的道来运行云及之Hadoop,并讨论了超级实践方案。

除了Hadoop自身的安全题材他,通常Hadoop还需并其他局之组件,来贯彻数据的导入和导出。第12段将根本介绍,如何才能够保障好那些以了Hadoop的柜级应用,并提供了示范和最佳安全实施,来确保所有Hadoop企业级应用的安全运转。

1.6 总结

本章高度概括了酷数量和Hadoop之间的涉及。并介绍了怪数目及其价值,还介绍了合作社面临的充分数据挑战,包括数据存储和拍卖的挑战。通过本章,你还询问了Hadoop及其历史。

通过本章,你打探了Hadoop特点,并明白了为何Hadoop如此适合那个数额处理。本章还概述了Hadoop的重点组件,并介绍了一部分例,用来展示Hadoop如何简化数据是,简化创建企业应用程序的经过。

本章介绍了有关Hadoop发行本的基础知识,以及为什么多商厦支持于选特定供应商的发行版。因为他们无希望处理Apache项目蒙之兼容问题,或者他们待供应商的技术支持。

最后,本章讨论了相同种植分层的方与模型,用于开发基于Hadoop的店级应用。

第2章节开以深刻讲解Hadoop的细节,以及如何存储你的数。

网站地图xml地图