首页 技术 正文
技术 2022年11月21日
0 收藏 643 点赞 3,394 浏览 151225 个字

大数据和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核心组件。

<img src="https://www.shuzhiduo.com/A/6pdDLyjqdw/data:image/jpeg;base64,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" alt="" />

1Hadoop生态圈的核心组成组件

从图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的实时应用程序使用,并交付给其他应用程序和终端用户。

<img src="https://www.shuzhiduo.com/A/6pdDLyjqdw/data:image/jpeg;base64,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q9laQhNq7UlWDIyVORmRie+DgEcEAHVUViWWtXuo3sptdMVtNjuHtzctcbXZkJVmWPbgqGBGSwPB4xjNLTfFk2o6lJYLaWP2hoZZIBDqIlAaNlBjlKp+7b516b+/pyAdRRXI+Fte1C/h0FdSI8670qS7d43Uq+0wgMw2AhjvPAOBz97gi3p3iea9m06SbTvIsNUz9hnE25m+QuN6bRs3KpIwW6c4NAHR0Vy+k+K7zUDoktxpCW9rq6ZhkW63uj+WZMMu0DBCtgg56ZA7XfEt7dw21rY6bOIdQv51hhlKB/KUfNI+DwcIGxnjJFAG3RXMWnia4/4R/T2ktRcaxNObF7dX2L9oQN5hJwdqAIzZweMYByKuXetXtjZWom0xDqV1cfZ4baO4yjNgtu8wqCFCqxJ2546E4oA26K5nVPFb6OlpBfw6faX9z5hVbnUBHAFTGT5pTJzuGBtyeeABmq1x46i/s3T721htTFd+aGnu7zybeNo22lfNCsCS2dvQEAnNAHX0VzWpeKpbDVLSx+yWqGeFJN91eeSrsxI8uI7SsjjHTK9V9a6WgAooooAKzfEX/Is6r/15zf8AoBrSrN8Rf8izqv8A15zf+gGgDXtP+PKD/rmv8qmqG0/48oP+ua/yqauc5QooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDC1L/kbNI/69br+cNaVZupf8jZpH/XrdfzhrSraGx0Q+EKKKKooKq6jp1tquny2V2heCUDIBIIIOQQRyCCAQexFWqKAMWy8Npb38N7d6lf6jPbqVtzdsmIsjBICIo3EcZOTjPqaZF4WtTdz3F7d3eoGa1ez23TIQkLEFkG1VJzgcsSeOvXO7RQBjHw8JdLvdOutU1C6gu7drb96yZjRlKnaQgycHq241bk0uN5J5FnnjlkthbLIhGYgM/MuQQGyc85Hyjjir1FAHMnwD4cXTYbS306C1lhEflXsEKLcIyEFX37TlsqMk5zznrUR8LSahq2uve3F3DY3lzGxgikTy7mMQRKQ3BYDcrA4KkjrkYrq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iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAxNY/wCQ7oP/AF3l/wDRLVqVl6x/yHdB/wCu8v8A6JatSu3D/AUFZL/8jrY/9g65/wDRkFa1ZL/8jrY/9g65/wDRkFXW+BgbtFFFeeSFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBBfWwvdPubUtsE8TR7sZxuBGf1qVF2Iq5zgAUSyJDE8srBI0UszE4AA6mlBBAIOQaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsub/karL/AK8rj/0OGtSsub/karL/AK8rj/0OGgaNSiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFRXFzBaW8lxczRwwRrueSRgqqPUk8AUAS1hWv8AyNur/wDXvbf+1Kd/wmfhb/oZdH/8Dov/AIqquk31nqXiTVbmxu4Lq3aC3CywSB1JBlB5HFbUPjKSN6iiiu4DL0D/AI//ABB/2ER/6Tw1t1yen+INF0rV9eg1HV7Czma/VxHcXKRsV+zwjOGIOOD+VacXi3w1PMkMPiHSZJZGCoiXsZZieAAA3JrzqnxsGjZoooqCQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiisaTxd4ahleKXxFpKSIxVka9jBUjqCN3BoGN1j/AJDug/8AXeX/ANEtWpXOXGt6Tq2v6Kum6pZXrRzSlxbXCSFcxPjO0nFdHXdh/gGFZL/8jrY/9g65/wDRkFa1c/qWp6fpXi6wn1G+trOJrC4RZLiZY1LeZCcAsRzgH8qqt8DA6eisT/hM/C3/AEMuj/8AgdF/8VWvBPDdW8dxbyxzQyKGSSNgysD0II4IrzxElFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAz9d/5F7U/+vSX/wBANXYf9RH/ALo/lVLXf+Re1P8A69Jf/QDV2H/UR/7o/lQMfRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqcloz6xb3oYbI7eWIr3JZkIP/jh/OrlJuXcFyNxGQM84oAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKxvE1/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" alt="" />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的细节,以及如何存储你的数据。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,965
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,486
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,331
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,114
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,747
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,781