- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Hadoop分布式计算架构海量数据分析
基于Hadoop分布式计算架构海量数据分析
[摘 要]随着互联网的发展,分析处理海量数据成为各公司组织急待解决的问题。Hadoop分布式系统依靠廉价的PC集群提供可靠的并行计算服务,其子项目Pig立足Map-Reduce并行计算框架,提供类SQL功能的Pig Latin语言,成为实用、高效的海量数据处理平台。本文对Pig平台系统架构进行说明,介绍Pig平台引擎前端和引擎后端的功能,并结合实例阐述Pig平台处理Pig Latin脚本过程中产生逻辑计划、物理计划及Map-Reduce计划的具体流程。
[关键字]Hadoop Map-Reduce Pig 数据分析
[中图分类号]TP393 [文献标识码]A [文章编号]1007-9416(2010)07-0006-02
1 前言
随着信息时代的到来,公司、科研等机构的数据量程指数趋势增长,这种情况在网络公司中显得尤为突出,如雅虎、淘宝等。如何快速从网站日志分析出用户最关心问题,如何从用户消费记录中发掘最受欢迎产品,如何从海量实验数据中查找异常数据,这些都成为亟待解决的问题。由于分布式系统在存储和处理海量数据的过程中响应迅速,具备良好的伸缩性和可靠性高等特点,分布式数据库作为海量数据分析平台有着优良的表现。但由于分布式数据库集群常需运行在专用服务器上,普通用户将难以负担其昂贵的实施、维护费用,分布式数据库并未被一般用户广泛接受。
Hadoop[1]作为由Apache软件基金会研发的开放源码系统,基于Map-Reduce[2]计算框架提供各种服务,包括分布式文件系统、分布式数据库、分布式数据仓库等,受到越来越多用户的关注。用户通过搭建廉价的Hadoop集群,便可应用Map及Reduce计算过程完成海量数据的处理和分析任务。然而Map-Reduce作为一种解决常见并行任务的处理框架,对海量数据处理分析并无特殊支持,用户在具体使用过程中会遇到不少困难。首先,用户需要为常用分析过程如GROUP、FILTER等手动编写代码,代码开发周期长且无法保证功能正确,代码难以维护、重用。其次,复杂的海量数据分析、处理过程难以分解为多个Map、Reduce阶段任务,普通用户难以处理复杂任务。再者,Hadoop对用户手动编写的Map、Reduce处理过程难以有效优化,运行效率不能得到保证。
雅虎考虑到分布式数据库昂贵及Hadoop系统难以使用等缺点,于2006研发了自己的海量数据分析平台Pig[3、4],旨在为用户提供一个高效、实用的海量数据分析工具。随后雅虎将Pig捐献给Apache,现在Pig平台成为Hadoop下的一个开源子项目。Pig平台提供类SQL功能的命令式编程语言Pig Latin[5、6],并基于Hadoop的Map-Reduce计算框架提供快捷、可靠的并行计算服务。本文接下来介绍Pig平台系统架构并结合实例说明Pig平台处理Pig Latin脚本的过程。
2 Pig平台系统架构
Pig平台以三种方式提供服务,分别为交互式模式、批处理模式及嵌入式模式。交互式模式用户以命令行的方式调用服务,批处理模式用户可直接执行Pig Latin脚本,嵌入式模式用户可以将Pig语句写进Java程序中直接执行。
Pig平台架构图如图1所示,其中图上部为三种不同调用方式对应的Pig Latin输入,中间部分为Pig平台组成,包括引擎前端和引擎下端,下部为Pig Latin执行平台。引擎前端完成Pig Latin语句的分析、语法检测、逻辑检测、代码优化等任务,输出结果为与该语句对应的逻辑计划。此阶段Pig平台将Pig Latin命令行语句或Pig Latin脚本或嵌入在Java程序中的Pig Latin代码生成统一格式的逻辑计划,消除因不同Pig调用方式输入造成的差别。随后,逻辑计划被移交给引擎后端执行。引擎后端负责将逻辑计划翻译为特定平台的可执行计划。目前Pig平台支持Map-Reduce运行模式和本地运行模式,因此引擎后端有两套实现系统。运行在Map-Reduce模式下的引擎后端将逻辑计划生成相应的Hadoop物理计划和Map-Reduce计划,并提交给Hadoop集群执行。运行在本地模式下的引擎后端将逻辑计划生成相对应的物理计划并在本机JVM环境下执行。
3 Pig平台运行过程
当用户提交Pig Latin脚本后,Pig平台将通过其引擎前端将脚本解析为对应逻辑计划。如果该Pig Latin脚本最终运行平台为Hadoop分布式集群,则引擎后端将逻辑计划生成对应的Hadoop物理计划和Map-Reduce计划,并将Map-Reduce计划提交给Hadoop执行。以下实例详细介绍整个处理过程。
假如某销售网站要
原创力文档


文档评论(0)