Hadoop云服务之战:微软vs.亚马逊

毫无疑问,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在增加性能方面就是赢家。

(责任编辑:施柏鹏)

时间: 2024-09-21 11:51:49

Hadoop云服务之战:微软vs.亚马逊的相关文章

VMware剥离云资产 以应对微软、亚马逊和谷歌

总部设在加利福尼亚州帕洛阿尔托的虚拟化和软件公司VMware正打算来一次企业改组.我们已获悉,据消息灵通人士称,VMware希望剥离一部分云资产,包括Cloud Foundry平台即服务(PaaS)部门和母公司EMC旗下的Greenplum资产,另外新设一家公司.新公司还将包括Project Rubicon的资产,而Project Rubicon是VMware与EMC携手成立的一家基础设施即服务(IaaS)联合企业. VMware首席执行官Paul Maritz 此举将帮助VMware提供与谷歌

腾讯电商试水云服务:国内首家亚马逊 概念电商浮出水面

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   昨天,腾讯电商旗下的易迅网首发了一款由QQ音乐和国际顶级无线Hifi系统供应商Sonos联合打造的无线高保真音箱,腾讯电商因此成为国内首家试水云端内容服务和硬件制造厂商相结合的电商企业. 有分析预计,仅数字音乐领域,至2015年其收入可望达到86亿美元,而这还未包括庞大的终端硬件市场.在此诱惑下,腾讯的步子迈得较快.行业人士分析,参考亚马逊的盈利模式,可以发现国

微软回应亚马逊SAP云落地:没那么简单

原标题:微软回应亚马逊SAP云落地中国:不是总部派两人过来那么简单Satya Nadella是微软公司执行副总裁.下一任微软公司CEO的热门人选之一,三年前当他找到在微软西雅图总部和微软中国的产品事业部工作长达10年"的"技术男"严治庆,让他负责把微软的公有云Windows Azure落地中国时,严治庆想了 5分钟同意了.由此开启他在微软从工程师"技术男"变身 "商务男"的征程.当<中国电子报>记者问及微软Windows A

微软和亚马逊的政府云双双获FedRAMP认证最高级别

微软和亚马逊双双于6月23日宣布旗下的政府云服务获得FedRAMP最高认证,时间上先后只差几分钟. Azure政府云和亚马逊的AWS GovCloud获得联邦风险和授权管理程序(FedRAMP)高基线属下的授权委员会的临时操作授权(P-ATO),另外还有些云产品也获得该临时操作授权.此为FedRAMP认证的最高级别,意味着这些云符合美国政府最严格的安全要求. 微软的13项云服务亦获得FedRAMP最高认证,包括Azure密钥库.特快路线(Express Route)和Web应用程序. 另据悉,微

Facebook、苹果、微软、亚马逊和Salesforce都想把Twitter收了

谁会买下Twitter? 9月27日传出迪士尼或将收购Twitter的传闻.据BI中文站报道,Twitter曾经是技术行业的宠儿,3年前高调上市的情景仍历历在目,然而现在这家公司似乎撑不下去了,它似乎打算将自己卖掉. 如果Twitter再不马上将自己卖掉,它就很可能会步雅虎的后尘--现在,Twitter似乎想讨要一个比较高的价格,大概在300亿美元左右,这大约是周五收盘时Twitter市值的两倍. Spark Capital合伙人纳比尔·赫亚特认为,如果Twitter无法保持独立公司的地位,迪士

苹果最新AI人才报告:最喜欢“挖角”微软和亚马逊,但钱和手速都落后对手

日前,为了了解苹果公司招募AI人才的方式,美国著名商业杂志<Fast Company>根据公开的Linkedln个人资料建了一个数据库.该数据库收集了600多名专门从事机器学习.计算机视觉.自然语言处理和与AI相关工作的苹果公司员工的分析结果,这些员工在Linkedln的主页简介上都会标明自己的工作为"科学家"或"研究人员",以及在简历上会列举AI相关的技能. 首先,要声明的一点在于这份分析报告确实存在一些不足.因为这些员工并不会在Linkedln上完全

微软瞄准亚马逊 希望吸纳更多“纯硅谷创业公司”

北京时间3月10日消息,据国外媒体报道,微软服务器和工具部门总裁萨蒂亚-纳德拉(Satya Nadella)称,在说服创业公司使用其云计算系统方面,微软目前"显然不像亚马逊那样远远走在前面".但是,该公司将会致力于在创业领域中取得一些成功. 本周在微软雷德蒙德园区与记者们交谈时,微软服务器和工具部门总裁纳德拉做出了上述表示.亚马逊主要通过其"基础架构即服务"来吸引创业公司,而微软则主要通过更高端的"平台即服务"来吸引创业公司,直到去年才涉足&qu

谷歌云计算服务再降价:与亚马逊争夺企业用户

北京时间11月5日早间消息,为了与亚马逊等竞争对手争夺企业用户,谷歌刚刚下调了云计算服务的价格. 谷歌周二在Google Cloud Platform Live大会上宣布,该公司将下调部分云计算功能的价格,包括存储.数据库和网络选项,降价幅度在23%至79%之间. 亚马逊.谷歌和微软(47.57, 0.13, 0.27%)今年都下调了网络服务的价格,希望以此争夺市场份额.根据美国市场研究公司IDC的测算,去年的云计算市场总体规模超过450亿美元. 谷歌上月表示,将把部分云计算产品的价格下调10%

惠普推公共云、虚拟网络组件挑战亚马逊统治地位

惠普近日宣布即将推出基于开源的云产品系列,并为其硬件产品增加了网络自动化功能,以在被亚马逊统治的市场中分一杯羹. 惠普宣布将于5月份推出其公共云基础设施即服务(IaaS)的产品,被称为HP Cloud Services.该公共云产品是基于来自OpenStack的开源软件,该公司称,已经有超过6000名客户使用了测试版产品.除了该公共云产品外,惠普还推出了一系列软件应用程序,使企业能够管理其私有云或者公共云,不管他们是否使用的是惠普硬件. 在网络方面,该公司将为其FlexNetwork产品增加一系