諸如Amazon公司、Google公司、Heroku、IBM公司以及微軟公司等主要的PaaS廠商將今年定為云計算的“大數據”之年一事已得到了大肆宣傳。但是,實際上在公共云計算中又是哪一家供應商提供了最為完整的ApacheHadoop實施呢?
隨著企業(yè)越來越多地采用平臺即服務(PaaS)云計算模式作為企業(yè)的數據倉庫應用解決方案,ApacheHadoop以及HDFS、MapReduce、Hive、Pig與其他的子組件正在成為大數據分析的主力軍,這一趨勢也變得逐漸明朗化。為了表明Hadoop已經成熟并已可用于生產分析云計算環(huán)境的商用化應用,ApacheFoundation已升級至具有里程碑性質的Hadoop v1.0版本。
在供應商的數據中心為批處理托管MapReduce處理創(chuàng)建高擴展性、即付即用Hadoop集群的能力可允許企業(yè)IT部門避免因內部自有服務器的零星使用而造成的資本支出。其結果就是,Hadoop已成為財大氣粗PaaS供應商們(Amazon、Google、IBM和微軟)的必需品,以打包Hadoop、MapReduce或這兩者作為其預建服務。
AWS的彈性MapReduce
2009年四月Amazon網絡服務(AWS)成為了彈性MapReduce(EMR)的始作俑者。EMR處理Hadoop集群配置、運行和終止任務以及在AmazonEC2和Amason S3(簡單存儲服務)之間實現數據傳輸。EMR還提供了ApacheHive,它可建立在Hadoop之上以用于數據倉庫服務。
圖1
Amazon網絡服務的彈性MapReduce功能,對CloudWatch工作的工作流指標進行采樣。(圖片由AWS提供)
對于從機故障,EMR是有故障容錯機制的;Amazon建議以SpotInstances只運行任務實例組,從而實現在利用更低成本優(yōu)勢的同時仍然保持可用性。但是,在2011年八月之前AWS并不支持SpotInstances。
Amazon為EMR定出了每小時0.015至0.05美元的附加費標準,并將其作為小型云主機至超強集群云主機EC2實例的額定值。根據AWS的官方說法:一旦你開始了工作流,Amazon彈性MapReduce就處理AmazonEC2的實例配置、安全設置、Hadoop配置以及設置、日志收集、健康監(jiān)控以及其他與硬件相關的復雜性,例如從你正在運行的工作流中自動移除故障實例。AWS于近期為EMR實例發(fā)布了免費CloudWatch指標。(圖1)
Google公司的AppEngine-MapReduce
根據Google公司開發(fā)人員MikeAizatskyi的說法,所有Google團隊都在使用于2004年首次推出的MapReduce。Google公司發(fā)布了一個作為“MapReduceAPI的早期實驗性發(fā)布版本”的AppEngine-MapReduce API以支持在Google AppEngine上運行Hadoop 0.20程序。之后,該開發(fā)團隊于2011年三月發(fā)布了低層次APIv1.4.3版,以便于為Blob和改進開源用戶空間Shuffler功能的中間結果提供一個類文件的系統(tǒng)(圖2)。
圖2
Google AppEngine-MapReduce的Shuffle在一個I/O2012會話中進行處理。
Google AppEngine-MapReduce API通過一個Google PipelineAPI精心安排Map、Shuffle和Reduce操作。在一段視頻短片中該公司為I/O2012介紹了AppEngine-MapReduce的目前狀態(tài)。但是,直至2012年春季Google公司還沒有改變對其“早期實驗性發(fā)布版本”的描述。AppEngine-MapReduce的主要目標對象是Java和Python程序員,而不是大數據科學家和分析專家。Shuffler受限于約100MB的數據集,很明顯這不屬于大數據應用的范疇。對于更大的數據集,你可以請求訪問Google的BigShuffler。
Heroku的Treasure Data Hadoop附件
Heroku的Treasure DataHadoop附件可使開發(fā)運行人員使用Hadoop和Hive來分析托管應用程序的日志和事件,這是該技術的主要功能之一。其他的Heroku大數據附件包括Cloudant的ApacheCouchBase實施、源自于 MongoLab 和 MongoHQ的MongoDB、Redis To Go、Neo4j(Java圖形數據庫的公共版本)以及RESTful指標。被稱為“.NETHeroku”的AppHarbor提供了類似的附件選擇,其中包括了Cloudant、MongoLab、MongoHQ 和 RedisTo Go,再加上RavenHQ NoSQL數據庫加載項。Heroku和AppHarbor都不支持通用Hadoop實施。
SmartCloud中的IBM Apache Hadoop
IBM公司于2011年十月開始以IBM SmartCloud企業(yè)版中InfoSphere BigInsightsBasic的形式提供基于Hadoop的數據分析。可管理多達10TB數據的BigInsightsBasic還有可用于Linux系統(tǒng)的免費下載版本;BigInsights企業(yè)版是一個收費的下載版本。這兩個下載版本都提供了ApacheHadoop、HDFS、MapReduce框架,以及一整套的Hadoop子項目??上螺d企業(yè)版包括了一個可用于編寫文本分析、類似電子表格的數據發(fā)現與挖掘工具、以及JDBC連接至Netezza和DB2的基于Eclipse插件。兩個版本都提供了集成的安裝與管理工具(圖3)。
圖3
IBM的大數據平臺和使用界面。(圖片由IBM提供)
我的測試——驅動IBM的SmartCloud企業(yè)基礎設施作為服務:第一部分和第二部分的教程介紹了于2011年四月發(fā)布的SmartCloud企業(yè)免費試用版的管理功能。從IBM的技術出版物來看,目前還不清楚公共云計算中可下載BigInsight版中可提供些什么功能。他們的云計算:IT專業(yè)人士社區(qū)資源頁面中只列出了一個BigInsightsBasic 1.1:Hadoop Master和數據節(jié)點鏡像;一個IBM公司的代表證實,SmartCloud版并不包括MapReduce或其他的Hadoop子項目。Hadoop提供的SmartCloud教程解釋了如何在SmartCloud企業(yè)版中配置和測試一個三節(jié)點的集群。由此可見,IBM當前的BigInsights云計算版本正在錯失數據分析中的關鍵元素。
微軟公司Windows Azure的Apache Hadoop
微軟公司聘請了Hortonworks(一個專門提供Hadoop咨詢的Yahoo!Spinoff)以幫助實施Windows Azure的ApacheHadoop或Azure的Hadoop(HoA)。自2011年12月14日以來,HoA已進入只接受邀請加入的社區(qū)技術預演階段(CTP或私人測試)。
在加入Hadoop的行列之前,微軟公司依靠由微軟研究院開發(fā)的圖形數據庫Dryad和一個高性能計算附件(LINQ至HPC)來進行大數據分析處理。AzureCTP的Hadoop提供了一個從小型(有4TB存儲容量的四計算節(jié)點)到超大(16TB的32節(jié)點)的預定義Hadoop集群選擇,簡化了MapReduce操作。加入CTP預發(fā)布計算節(jié)點或存儲是不收取費用的。
圖4
微軟公司提供了四個Hadoop/MapReduce項目示例:計算圓周率л的值、執(zhí)行Terasort和WordCount基準,以及演示如何使用C#語言編寫一個供流數據使用的MapReduce程序。
微軟公司還提供了新的JavaScript運行庫以便于使JavaScript成為Hadoop的一流編程語言。這意味著JavaScript程序員可以使用JavaScript編寫MapReduce程序,并從網絡瀏覽器運行這些任務程序,從而減少Hadoop/MapReduce條目的障礙。CTP還包括了一個用于Excel的Hive附件,它可讓用戶與Hadoop中的數據進行交互。用戶可以從附件發(fā)出Hive查詢以便于在熟悉的Excel用戶界面中分析Hadoop的非結構化數據。預覽版還包括了一個HiveODBC驅動器,它可實現Hadoop與其他微軟商業(yè)智能工具的集成。在近期關于Windows Azure的ApacheHadoop服務帖子中,我解釋了如何運行Terasort基準,即四個MapReduce任務示例之一(圖4)。
HoA本應計劃在2012年中WindowsAzure“春潮”中實現新功能和改進功能的升級。此次升級將使HoA團隊為CTP吸引更多的測試人員,并可能包括內部或私有云計算以及混合云計算實施所使用WindowsServer 2008 R2的Apache Hadoop。在2011年底和2012年初,微軟公司一直在積極努力以降低WindowsAzure計算實例和存儲的費用;與Amazon彈性MapReduce相比,Azure發(fā)布版本的Hadoop定價可能也具有一定的競爭力。
大數據對Hadoop和MapReduce意味著更多
我同意Forrester Research的分析師JamesKobielus在博客中發(fā)表的博文,“在大數據的世界中,Hadoop/MapReduce將是一個關鍵的發(fā)展框架,但并不是唯一的一個?!蔽④浌具€為.NET框架提供了代號為“CloudNumerics”的CTP,它允許開發(fā)運行團隊在WindowsAzure中對大型分布式數據集執(zhí)行數字密集型計算。
微軟研究院還公布了在WindowsAzure中實施Excel云計算數據分析及其“Daytona”項目MapReduce迭代實施的源代碼。但是有跡象表明,在可預見的未來,開源ApacheHadoop及其相關子項目將主宰云計算托管應用。
提供最自動化Hadoop、MapReduce和Hive實施的PaaS供應商將獲得大數據科學家和數據分析從業(yè)者最密切的關注。微軟公司專為商業(yè)智能(BI)應用配置Excel前端,使該公司的大數據產品在日益增長自助服務BI用戶中游刃有余。目前,Amazon和微軟公司提供了最完整和自動化的云計算Hadoop大數據分析服務。
聯系客服