大數據分析平台產品對比之MaxCompute(原ODPS)篇
之前嚐試使用過一些國內外的雲產品,特別是大數據分析型產品,例如:亞馬遜的EMR、Redshift,Google的Bigquery以及阿裏雲的ODPS,現在更名為MaxCompute,https://www.aliyun.com/product/odps。相信大多數人對亞馬遜的EMR、Redshift,Google的Bigquery都比較了解。但在嚐試使用ODPS後,ODPS感覺也是一款不錯的大數據分析產品。本文主要為大家介紹關於ODPS的使用體驗,同時也會與Redshift及Bigquery做對比,讓大家對各款雲產品有初步的認識。
鑒於很多人對ODPS不是很熟悉,在這裏有必要簡單介紹下。ODPS 是阿裏雲旗下一款功能較為齊全,使用便捷,完全托管的TB級別數據倉庫產品,用於解決用戶在分析大數據過程中遇到的問題。ODPS提供多種數據導入/導出手段,使用戶數據輕鬆上雲。且完全屏蔽底層算法的實現,即便沒有分布式編程經驗的開發人員,也能快速完成分析工作。同時ODPS提供的多種計算框架,在使用習慣上與開源Hadoop基本一致,用戶不需要過多的額外學習就可以基本掌握ODPS的使用方法。此外,阿裏雲數加產品還為ODPS提供了友好的圖形化界麵,方便用戶開發、配置作業,完成多用戶協同工作。阿裏雲下的另一款產品CDP能夠提供ODPS與阿裏雲旗下其他產品的數據互通。
下麵,我將從準備工作、數據導入、BI分析以及機器學習、流式分析等場景介紹ODPS。
準備工作
在正式使用之前,仔細閱讀了ODPS的文檔,這個還是很有必要的,對產品的基本概念、安全策略、售賣方式要有足夠的了解。在此之後再進行創建Project,Table等操作(各家的組織結構不盡相同,RedShift有Cluster、Database,Bigquery有Project、Dataset,ODPS是Project)。
在這方麵ODPS和Bigquery明顯好於Redshift,前兩者真正做到了開箱即用,在創建Project後,即可進行數據開發工作,無需額外的啟動服務及係統配置工作。用戶不必關心硬件配置、係統規模等繁瑣的配置。作為一款完全托管的大數據分析產品,ODPS可以根據業務情況做到計算資源自動彈性伸縮。但亞馬遜要先啟動Cluster,再創建Project,且在此過程中還需要諸多配置工作(這也難怪,AWS幾乎都是基於ECS的)。
在付費方麵,ODPS和Bigquery完全是按照雲的理念按量付費,每運行一個作業產生一筆賬單。這個不得不要吐槽亞馬遜,超級貴啊有沒有,幾乎是國內ODPS的數倍!而且是按月出賬單,稍不留神幾千大洋就被扣掉了。本人就是一時疏忽損失了2000人民幣,這也是我告誡大家仔細看文檔的原因。可是,亞馬遜和google的文檔都是英文的,這是為神馬?亞馬遜不是要進中國嘛?可為啥到現在連中文文檔都沒有,為啥沒中文文檔,為啥沒中文文檔,為啥沒中文文檔?重要的事情…
說到文檔,Bigquery的文檔也還是較為簡單,感覺也不過是Google放出來擺擺樣子。Google強大的雲計算技術並沒有真的想施舍給中小企業。ODPS的文檔還是比較全麵的,描述準確、細致。雖然使用起來還是感覺有點小貴,但據說會很快推出降價策略。ODPS在成本控製方麵也很用心,SQLCost這個命令可以估算每條SQL消耗的費用,很好用。
數據上雲
如何使數據上雲是大數據處理中遇到的第一個難題。通常情況下,在起始階段會花費大量時間將數據導入雲產品中。
ODPS是一款將存儲與計算集成的產品,數據在導入ODPS後即可參與計算。ODPS提供多種操作簡便的數據導入工具,通過簡單的幾項配置操作後,即可以通過數據導入工具將數據上傳至ODPS。用戶也可以通過ODPS提供的Restful API及Java/Python SDK完成多種多樣的定製化場景需求。此外,ODPS可同現有生態對接,已經實現與OGG,Fluentd,Sqoop的對接,通過這些工具用戶可以完成Oracle,Mysql,Hadoop的數據闡述。阿裏雲的CDP能夠幫助用戶完成雲產品見的數據同步工作,例如:RDS、OTS、OSS的數據導入導出。
Redshift支持將S3、EMR、DynamoDB等產品的數據導入其中。當然最基本的,Redshift也支持Remote Host數據,可惜我從來沒成功過。這也暴露了國外雲廠商的缺點:距離有了,美沒了。Bigquery支持導入BigTable的數據。
BI開發
有了數據,就可以進行數據查詢。ODPS提供了友好的UI界麵能夠讓用戶定義數據查詢。並且可以通過簡單的控件拖拽方式決定多個任務間的依賴關係,不在需要編寫複雜的任務調度工具。這的確節省了我大量的時間。一旦任務失敗,會有報警短信發給我,不用擔心白天由於報表沒產出,老板給我臉色看。
如果想盡快獲取SQL查詢結果,可以通過簡單的配置獲得ODPS提供的準實時查詢能力。這個是ODPS內置的,不需要將數據遷移到其他產品中。當然,如果不滿足於ODPS提供的數據實時處理能力,想借助RDS或者ADS完成更快速的交互式查詢及多維分析,可以通過CDP,將ODPS中的數據導入到RDS中。我當時使用的是ADS,更加便捷,可以直接加載ODPS的數據。這些產品可以為企業決策提供提供更快速的數據支持。
在這方麵,Redshift及Bigquery真的顯得乏善可陳。雖然Redshift支持jdbc協議,可以對接多種BI分析工具。但shuju.aliyun.com中提供了非常多的BI工具及分析套件。之前有見過阿裏巴巴內部的BI分析師使用這套產品。
數據挖掘及機器學習
隨著業務的不斷發展,很多用戶已經不滿足於簡單的BI分析,想通過數據挖掘及機器學習算法完成更位複雜的數據業務,例如:廣告,個性化推薦,用戶分類等。但並不是每家企業都具備開發分布式算法的能力,ODPS上麵的PAI算法平台有不少常用算法,例如分類,聚類,預測,甚至還有深度學習算法。比較特別的是,這些算法通過簡單的拖拽動作就可以搞定,無需使用者介入枯燥的編程工作,降低操作使用門檻。我之前通過阿裏雲發布的溝通郵箱申請了試用:
更為重要的是,用戶可以通過ODPS提供的MapReduce、擴展的MRR及Graph模型提供定製算法的能力,並可以將這些算法分享給其他人。
這方麵我沒深入了解過AWS及Google。之前聽說過AWS的Amazon Machine Learning,隻可惜看到售價就差點把我嚇跑了,按照條數收費。第一次嚐試處理4MB數據,收了25美金....然後,就沒有然後了。雖然AmazonMachine Learning同樣提供可視化的工具和向導,但看看定價,還是算了。
流式分析
除大家熟知的離線分析能力,StreamCompute流式數據處理解決了實施數據處理的難題。不同於Storm,StreamCompute為提供的是SQL查詢接口。普通的BI分析師也可完成流式開發工作。對於我這種懶人,是非常有吸引力的。隻要一個SQL就搞定了:
結語
總的來說,目前把雲計算當做重點發展業務的恐怕隻有亞馬遜和阿裏雲。Google怎麼看起來都像是玩票的感覺。雖然也有很多小廠商投入到雲計算的市場,但考慮到這個行業的特殊性(業務要求嚴苛,技術投入高),我還是會選擇亞馬遜、阿裏雲這樣的大公司。從國內的服務現狀來看,亞馬遜雖然出道早,產品深入人心,但從定價、服務、使用習慣上,國內企業則更占優勢。況且,阿裏雲ODPS這半年來更新很快,例如:加入了對Flume、Fluentd、OGG等數據導入插件的支持,定價也在準備下調。
最後更新:2017-07-20 17:02:52