Amazon EMR(Elastic MapReduce):亚马逊Hadoop托管服务运行架构&Hadoop云服务之战:微软vs.亚马逊...

http://s3tools.org/s3cmd

Amazon Elastic MapReduce (Amazon EMR)简介

    Amazon Elastic MapReduce (Amazon EMR) 是一种 Web 服务,提升企业、研究人员、数据分析师和开发人员轻松、经济高效掌控海量数据的能力。它基于 Amazon EC2)技术和Amazon S3) 技术的 Web 规模基础设施,是一种 Hadoop 托管服务运行架构。

      Amazon Elastic MapReduce自动加快MapReduce框架在Amazon EC2实例上的 Hadoop 部署速度,将任务流程中的数据细分为更小的数据块,以进行并行处理(“分区映射”功能),最终还将经过处理的数据重新组合为最终解决方案(“规约分区”功能)。Amazon S3 可作为数据分析源,以及最终结果的输出目的地。
    Amazon Elastic MapReduce能即时灵活配置自身所需容量大小,执行数据密集型应用计算,完成 Web 索引、数据挖掘、日志文件分析、数据仓库、机器学习、财务分析、科学模拟和生物信息研究任务。Amazon Elastic MapReduce技术让您专注于数据分析,无需担心费时的 Hadoop 集群设置、管理或调整,也无需担心所依靠的计算能力。

Amazon Elastic MapReduce特点

    访问安全Amazon E MR可自动配置 Amazon EC2 防火墙,控制运行任务流程的实例的网络访问安全,并控制实例之间的访问安全。任务流程也可在 Amazon Virtual Private Cloud (Amazon VPC) 中启动,您通过指定希望的 IP 范围来隔离计算实例,并使用行业标准加密 IPsec VPN 策略连接您现有的 IT 基础设施,确保网络安全无忧无虑。
    第三方工具Amazon Elastic MapReduce完美支持众多第三方工具和解决方案,方便用户开发。例如,Karmasphere Analyst 可视化桌面工作区,可用于分析 Amazon Elastic MapReduce上的数据。它使用图形化工具,可执行基于 SQL 的结构化数据和非结构化数据查询,并呈现 可视化结果。Karmasphere Analyst 按小时计费,无前期费用投投入,亦免除签订长期使用合约之劳。
    应变灵活–根据需要您能够使用 Amazon Elastic MapReduce 运行任意数量的 Hadoop 计算实例。您可用一个、数百个甚至数千个实例来处理数 GB、数 TB 甚至数 PB 的数据。您不但可在任务流程运行之际实时修改实例数量,而且还可根据需要同时运行任意多的任务流程。您在几分钟内即可立即开始加速处理大型 Hadoop 任务流程,无需等待数小时或数天。任务流程完成后,除非您另行指定,否则服务将自动终止实例,为您免除后顾之忧。
    经济实惠 – Amazon Elastic MapReduce 让您尊享 Amazon 规模经济效益。您只需为您实际消耗的计算容量支付极低的费用。Amazon Elastic MapReduce 经过优化,可监控您的任务流程的进度,停用完成流程的资源,尽力为您节省每一笔开支。
    使用便捷 – 您尊享便捷服务,Amazon Elastic MapReduce 为您处理 Hadoop 集群设置、运行、和性能优化;您只需专注数据分析,心无旁鹜。在我们提供的工具和示例数据处理应用程序帮助下,您无需编写任何代码,即刻上手。在您启动任务流程之后,Amazon Elastic MapReduce 会处理 Amazon EC2 实例配置、安全设置、Hadoop 配置和设置、日志收集、运行状况监控以及其他硬件相关复杂问题,例如在运行的任务流程中自动删除错误实例。
    服务全球Amazon Elastic MapReduce 服务使用遍布全球的 EC2 基础设施,现在以下地区可用:美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、美国西部(加利福尼亚北部)、欧洲(爱尔兰)、亚太地区(新加坡)、亚太地区(东京)、亚太地区(悉尼)、南美洲(圣保罗)和 AWS GovCloud(美国)地区。
    与其他AWS服务集成天衣无缝 – Amazon Elastic MapReduce 与其他 AWS 服务(例如 Amazon S3、DynamoDB 和 EC2)集成天衣无缝,为数据处理应用程序提供了坚固基础设施。该服务在 Amazon EC2 中运行任务流程,并在 Amazon S3 和/或 Amazon DynamoDB 存储输入和输出数据,让您尊享 Amazon 服务之大成。
    服务可靠 – Amazon Elastic MapReduce 基于 Amazon 高度可靠的基础设施构建而成,而且专门针对 Amazon 的基础设施环境优化了 Hadoop 性能。该服务能监控任务流程执行情况 – 重试失败任务、关闭出现问题的实例、配置新节点替换故障节点,确保任务流程执行流畅。
 
 
 
Hadoop云服务之战:微软vs.亚马逊
 
导读: 毫无疑问,Apache Hadoop软件库拥有当今最多的大数据分析思想。Gartner在2012年三月的报告中指出Hadoop作为一个流行的搜索词,在网站上的搜索量增长很快。本文介绍了微软和亚马逊之间关于Hadoop的竞争。...

毫无疑问,Apache Hadoop软件库拥有当今最多的大数据分析思想。Gartner在2012年三月的报告中指出Hadoop作为一个流行的搜索词,在网站上的搜索量已经比2011年增加了601.8%。Hadoop逐渐普及的背后主要的驱动力在于大数据和社交计算的炒作,广泛的企业级开源软件应用,拥有Hadoop熟练技能的开发人员资源池以及Hadoop可以用预期达成的性能以低廉的商业服务器集群成本交付高可用性。后面的这个性能让企业能够将Hadoop工作负载部署到IaaS和PaaS提供商的云上,代替数据中心资本投资中的几次付费费用。

Apache软件基金会将Hadoop描述为:

Apache Hadoop项目是用以开发可靠、可扩展且分布式的计算的开源软件

Apache Hadoop软件库是一种通过使用简单的编程模型,跨计算机集群的大型数据集分布式处理框架。旨在从单一服务器扩展到成千上万的机器,每一个产品本地计算并存储。而不是依赖于硬件来交付高可用性,该软件库本身旨在检测和处理应用层的失败,从而交付计算机集群顶层的高可用性服务,每一个都可能发生故障。

商业开源分布式软件,像红帽Enterprise Linux,属于企业级不可或缺的。Cloudera领先的商业Hadoop分布式用免费增值模式,提供了免费的Cloudera Distribution for Hadoop (CDH),但是需要对支持和Cloudera Manager应用许可证。因为其商业模式和市场支配,Cloudera成为很多“红帽Hadoop”的使用者的考虑对象。Yahoo!经典的Hadoop开发者,已经改变了野蛮,但是Cloudera却在出售其“Hadoop圣经。”因此Yahoo!于2011年六月甩掉了其Hadoop工程师团队,进入Hortonworks,Benchmark资本投资的一个新的实体,来获取Hadoop的收益,从而与Cloudera竞争。Cloudera2012年三月宣布同IBM合作,将其CDH、Cloudera Manager同本地的IBM BigInsights平台整合,并放入IBM的公有SmartCloud服务中。

亚马逊的弹性MapReduce

亚马逊Web服务(AWS)于2009年4月2日引入了弹性MapReduce服务(EMR),让AWS成为基于云的Hadoop服务的祖父。EMR使用按需的EC2实例集群处理存储于S3或者DynamoDB中的数据。专业的按需EMR实例陈本范围从小型的每小时0.105美元到每小时0.864美元的大型Hi-CPU实例,包括EMR额外的费用。S3和Dynamo DB存储为标准的按月付费,每GB数据传输到亚马逊数据中或者从亚马逊数据中心输出都适用。你可以按每小时付费或者你实际运行的实例付费。

AWS在EMR开始手册中提供了代码示例和教程,介绍在Linux、UNIX以及Windows语法中,通过EMR Command Line Interface (CLI)创建Streaming Job Flow。或者你可以适用Hive和亚马逊EMR工作流创建和执行一个简单的Contextual Advertising,如图一所示,EMR Management Console,链接中的博客描述了细节。

 

图一图解自动化弹性MapReduce和Hive工作流。你可以从CLI或者AWS管理控制台运行交互的Hive会话。

这篇文章对比了用AWS Management Console(图二)创建Hive工作流,而不是CLI,因为微软的Apache Hadoop on Windows Azure (AHoWA)服务包括了交互式Hive控制台,性能类似。Apache基金会将Hive描述为:

Hive是一个Hadoop的数据仓库系统,促进简化数据摘要、临时查询和存储在Hadoop兼容文件系统中的大型数据集的分析。Hive提供了数据之上项目结构以及使用类SQL语言HiveQL查询数据的一种机制。同时,HiveQL中不方便或者表达不清这个逻辑时,该语言可以让传统的map/reduce程序员插入其自定义的mappers和reducers。

 

图二,AWS Management Console下Elastic MapReduce选项创建Job Flow页面。点击Create New Job Flow按钮,可以选择Contextual Advertising示例HiveQL声明,转换ad-server impression数据到Hive表中。此外,MapReduce操作生成汇总广告效率的顺序文件。

2012年5月31日,AWS升级EMR到最新的Hive版本(0.8.1)中。Hive能够翻译HiveQL声明到MapReduce操作中并在执行这个操作,相反本地文件中湖综合公有云数据存储(比如亚马逊 S3或者Windows Azure blobs)的Hive表中的数据也是。例如,下面示例的HiveQL声明创建了一个名为impressions的Hive表,在SerializeDeserialize (serde)格式中有七个字段,从S3中JavaScript Object Notation (JSON)格式存储的ad-server impression日志文件……/表/ impressions folder:

CREATE EXTERNAL TABLE impressions (
requestBeginTime string
adId string,
impressionId string,
referrer string,
userAgent string,
userCookie string,
ip string )
PARTITIONED BY (dt string)
ROW FORMAT
serde 'com.amazon.elasticmapreduce.JsonSerde'
with serdeproperties ( 'paths'='requestBeginTime, adId,
impressionId, referrer,
userAgent, userCookie, ip' )
LOCATION '${SAMPLE}/tables/impressions' ;

Contextual Advertising工作流运行之前的声明,存储在S3脚本文件中,从而为后来的分析创建Hive表。第二个CREATE EXTERNAL TABLE声明生成一个点击表,从ad click日志数据和另一个impressions和clicks联合的表。如果你使用推荐的大型实例,每个实例每小时0.42美元,需要一个关键或者两个核心实例,成本是1.26美元。使用默认的小型实例,成本降到0.315美元。小型实例整个执行时间大约是20分钟。整个执行完成后,管理控制台停止运行所有实例。

进一步的操作会生成一个功能主页表,可以用于计算一个广告的点击估价。以S3脚本的形式存储这些估价HiveQL声明,选择一个而你不是第二步中的工作流处理示例脚本,在管理控制台的S3选择项中查看作为结果生成的S3文件。

微软的Apache Hadoop on Windows Azure服务预览

2011年12月14日SQL Server大数据团队发布了Apache Hadoop on Windows Azure服务商业技术预览(CTP)版本的邀请码,该团队期望在2012年初公诸于众。微软同Hortonworks合作,创建服务,提供核心的Hadoop/MapReduce功能、JavaScript库,可以用JavaScript编写MapReduce程序,用标准的Web浏览器运行工作,以及一个交互的JavaScript/Hive 控制台来编写和执行HiveQL声明。分析师使用Excel和其他的微软商业智能(BI)工具可以下载一个Hive ODBC驱动和Excel插件,允许他们用BI工具,比如PowerPivot和PowerView,发布HiveQL查询到分析结构或者非结构的Hadoop数据。预期AHoWA 用户必须通过邀请码邮件填写一个简要的调查。通过邀请码登录到AHoWA 网站,打开Request a New Cluster 页面(图三所示)。在预览期间没有AHoWA 资源消耗费用。然而,集群48小时候回收;你可以在24小时内重新创建一个,其生命周期持续6小时。

图三,AhoWA网站的Metro-ized Create a New Cluster页面。制定一个唯一的DNS命名,选择一个集群大小并提供管理认证,启用Request Cluster按钮。分配一个大型集群的一个集群头和四个工作结点只需要几分钟。

创建了集群后你可以运行九个示例Apache MapReduce中的一个,Pig、Sqoop和Mahout项目。或者你可以设置Windows Azure Marketplace Datamarket产品,Windows Azure对象容器或者亚马逊S3文件所谓数据源,放入Hive表中,具体的介绍详见链接的博客(图四)。

 

图四,从亚马逊S3表格上传。Manage Cluster页面的启动S3按钮打开这个表格,需要你的AWS Access Key和Secret Key进行验证。你为S3数据源文件选定具体的URL进入到HiveQL声明中。

下面的HiveQL声明键入在文本框中的数据显示区域,创建了一个本地功能主页Hive表,以Hadoop SEQUENCEFILE的格式有四列,用于后来的查询:

CREATE EXTERNAL TABLE feature_index (
feature STRING,
ad_id STRING,
clicked_percent DOUBLE )
COMMENT 'Amazon EMR Hive Output'
STORED AS SEQUENCEFILE
LOCATION 's3n://oakleaf-emr/hive-ads/output/2012-05-29/feature_index';

点击Evaluate按钮执行这个声明,大约四秒的时间内清空文本框并创建一个链接到数据源(见图五)。从S3数据源中选择查询下载数据。

 

图五,去人HiveQL查询的执行。查看工作日志需要一个远程桌面协议(RDP)连接到Azure High Performance Cluster中。

创建一个Hive表,增加其名称到表格列表中,命名列到列列表中,执行SELECT * FROM feature_index LIMIT ,20个查询结果显示出来,这是最先的20个结果(见图六)。

 

图六,第一个20行。花了7.265秒来执行一个简单的HiveQL SELECT查询,由于互联网延迟和相对较低的DSL连接。

AWS的Contextual Advertisin中的“Applying the Heuristic”部分建议执行下面的示例HiveQL查询对抗功能主页表“功能'us:safari' and 'ua:chrome'如何执行”:

SELECT ad_id, -sum(log(if(0.0001 > clicked_percent, 0.0001, clicked_percent))) AS value
FROM feature_index
WHERE feature = 'ua:safari' OR feature = 'ua:chrome'
GROUP BY ad_id
ORDER BY value DESC
LIMIT 100;

根据文章:

结果就是通过试探性的偶然点击排序广告。在这一点上,我们查阅广告,假设苹果产品的优势。

图七展示了执行之前查询的结果,展示了最高点击率的广告:

 

图七,返回的100个最高点击率的第一个15行。Hive History数据并没有显示出来,期间两个MapReduce工作已经执行。

如果你对于集成PowerPivot和Excel,通过交互Hive控制台生产数据感兴趣,看看我的《Using Excel 2010 and the Hive ODBC Driver to Visualize Hive Data Sources in Apache Hadoop on Windows Azure》一文。为了给控制台进行Windows Azure对象测试作为数据源,看《Using Data from Windows Azure Blobs with Apache Hadoop on Windows Azure CTP》一文。

总结

与微软的AhoWA相比,亚马逊的EMR是一个经验丰富的Hadoop/MapReduce老手,AhoWA让是预览阶段。二者都提供了Apache Hadoop完全详细的核心功能,但是AhoWA用其交互式Hive和JavaScript控制台赢得了可用性。如果你的分析团队使用Excel或者其他的微软BI工具,Hive ODBC驱动和Excel Hive Ad-In在增加性能方面就是赢家。

【编辑推荐】:

1、如何保护在Hadoop中的大数据

2、9大技巧 在Hadoop中保护大数据 安全

3、Hadoop之父勾勒大数据平台的未来

 

摘自 http://www.cioage.com/art/201212/99902_2.htm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值