MaxComputer簡介
大數(shù)據(jù)計算服務(wù)(MaxCompute,原名ODPS)是一種快速珊擂、完全托管的EB級數(shù)據(jù)倉庫解決方案。
分布式的計算模型對數(shù)據(jù)分析人員要求較高且不易維護(hù)费变。數(shù)據(jù)分析人員不僅需要了解業(yè)務(wù)需求摧扇,同時還需要熟悉底層分布式計算模型。MaxCompute為您提供完善的數(shù)據(jù)導(dǎo)入方案以及多種經(jīng)典的分布式計算模型挚歧,您可以不必關(guān)心分布式計算和維護(hù)細(xì)節(jié)扛稽,便可輕松完成大數(shù)據(jù)分析。
DataWorks和MaxCompute關(guān)系緊密:DataWorks為MaxCompute提供一站式的數(shù)據(jù)同步滑负、業(yè)務(wù)流程設(shè)計在张、數(shù)據(jù)開發(fā)、管理和運維功能矮慕。
目前阿里有一個自帶方法論而且開發(fā)過程十分成熟的開發(fā)框架就是Dataphin
產(chǎn)品優(yōu)勢
大規(guī)模計算存儲
MaxCompute適用于 100GB 以上規(guī)模的存儲及計算需求帮匾,最大可達(dá)EB級別。(感覺這里EB級別有點不真實)
多種計算模型
MaxCompute支持SQL痴鳄、MapReduce瘟斜、UDF(Java/Python)、Graph、基于DAG的處理螺句、交互式虽惭、內(nèi)存計算、機器學(xué)習(xí)等計算類型及MPI迭代類算法蛇尚。簡化了企業(yè)大數(shù)據(jù)平臺的應(yīng)用架構(gòu)芽唇。
強數(shù)據(jù)安全
MaxCompute已穩(wěn)定支撐阿里全部數(shù)據(jù)倉庫業(yè)務(wù)9年以上,提供多層沙箱防護(hù)取劫、細(xì)粒度權(quán)限管理及監(jiān)控匆笤。
MaxCompute通過了獨立的第三方審計師針對阿里云對AICPA可信服務(wù)標(biāo)準(zhǔn)中關(guān)于安全性、可用性和機密性原則符合性描述的審計谱邪。審計報告請參見SOC 3報告疚膊。
低成本
與企業(yè)自建專有云相比,MaxCompute的計算存儲更高效虾标,可以降低30%~50%的采購成本寓盗。
免運維
基于MaxCompute的Serverless無服務(wù)器的設(shè)計思路,用戶只需關(guān)心作業(yè)和數(shù)據(jù)璧函,而無需關(guān)心底層分布式架構(gòu)及運維傀蚌。
極致彈性擴展
MaxCompute提供按量付費模式下的作業(yè)級別的資源管理。用戶無需受困于資源擴展難題蘸吓,系統(tǒng)會自動擴展計算善炫、存儲、網(wǎng)絡(luò)等資源库继,最大程度地節(jié)省成本箩艺。
系統(tǒng)架構(gòu)
MaxCompute以數(shù)據(jù)為中心,內(nèi)建多種計算模型和服務(wù)接口宪萄,滿足廣泛的數(shù)據(jù)分析需求艺谆。一切服務(wù)“開通”即用,更好地賦能數(shù)據(jù)業(yè)務(wù)拜英。
功能概述
數(shù)據(jù)通道
Tunnel是MaxCompute為您提供的數(shù)據(jù)傳輸服務(wù)静汤,提供高并發(fā)的離線數(shù)據(jù)上傳下載服務(wù)。支持每天TB/PB級別的數(shù)據(jù)導(dǎo)入導(dǎo)出居凶,特別適合于全量數(shù)據(jù)或歷史數(shù)據(jù)的批量導(dǎo)入虫给。Tunnel為您提供Java編程接口,并且在MaxCompute的客戶端工具中侠碧,提供對應(yīng)的命令實現(xiàn)本地文件與服務(wù)數(shù)據(jù)的互通抹估。
針對實時數(shù)據(jù)上傳的場景,MaxCompute提供了延遲低弄兜、使用方便的DataHub服務(wù)药蜻,特別適用于增量數(shù)據(jù)的導(dǎo)入瓷式。DataHub還支持多種數(shù)據(jù)傳輸插件,例如Logstash谷暮、Flume、Fluentd盛垦、Sqoop等湿弦,同時支持日志服務(wù)Log Service中的投遞日志到MaxCompute,進(jìn)而使用DataWorks進(jìn)行日志分析和挖掘腾夯。
計算及分析任務(wù)
MaxCompute支持多種計算模型颊埃,詳情如下:
SQL:MaxCompute以表的形式存儲數(shù)據(jù),支持多種數(shù)據(jù)類型蝶俱,并對外提供SQL查詢功能班利。您可以將MaxCompute作為傳統(tǒng)的數(shù)據(jù)庫軟件操作,但其卻能處理TB榨呆、PB級別的海量數(shù)據(jù)罗标。
MaxCompute SQL不支持事務(wù)、索引积蜻,也不支持Update或Delete操作闯割。
MaxCompute的SQL語法與Oracle、MySQL有一定差別竿拆,您無法將其他數(shù)據(jù)庫中的SQL語句無縫遷移至MaxCompute中宙拉。詳情請參見與其他SQL語法的差異。
MaxCompute主要用于100GB以上規(guī)模的數(shù)據(jù)計算丙笋,因此MaxCompute SQL最快支持在分鐘或秒鐘級別完成查詢返回結(jié)果谢澈,但無法在毫秒級別返回結(jié)果。
MaxCompute SQL的優(yōu)點是學(xué)習(xí)成本低御板,您不需要了解復(fù)雜的分布式計算概念锥忿。如果您具備數(shù)據(jù)庫操作經(jīng)驗,便可快速熟悉MaxCompute SQL的使用怠肋。
UDF:即用戶自定義函數(shù)缎谷。
MaxCompute提供了很多內(nèi)建函數(shù)來滿足您的計算需求,同時您還可以通過創(chuàng)建自定義函數(shù)來滿足不同的計算需求灶似。
MapReduce:MaxCompute MapReduce是MaxCompute提供的Java MapReduce編程模型列林,它可以簡化開發(fā)流程,更為高效酪惭。使用MaxCompute MapReduce希痴,需要對分布式計算概念有基本了解,并有相對應(yīng)的編程經(jīng)驗春感。MaxCompute MapReduce為您提供Java編程接口砌创。
Graph:MaxCompute提供的Graph功能是一套面向迭代的圖計算處理框架虏缸。圖計算作業(yè)使用圖進(jìn)行建模,圖由點 (Vertex)和邊(Edge)組成嫩实,點和邊包含權(quán)值(Value)刽辙。通過迭代對圖進(jìn)行編輯、演化甲献,最終求解出結(jié)果宰缤,典型應(yīng)用:PageRank、單源最短距離算法?晃洒、K-均值聚類算法等慨灭。
Spark on MaxCompute:Spark on MaxCompute是阿里云開發(fā)的大數(shù)據(jù)分析引擎,為您提供大數(shù)據(jù)處理能力球及。詳情請參見Spark概述氧骤。
SDK
SDK是MaxCompute提供給開發(fā)者的工具包,當(dāng)前支持Java SDK及Python SDK吃引。
安全
MaxCompute提供了功能強大的安全服務(wù)筹陵,為您的數(shù)據(jù)安全提供保護(hù),詳情請參見安全指南镊尺。
MaxCompute與DataWorks
DataWorks是基于MaxCompute計算和存儲惶翻,提供工作流可視化開發(fā)、調(diào)度運維托管的一站式海量數(shù)據(jù)離線加工分析平臺鹅心。在數(shù)加(一站式大數(shù)據(jù)平臺)中吕粗,DataWorks控制臺即為MaxCompute控制臺。
MaxCompute和DataWorks一起向用戶提供完善的ETL和數(shù)倉管理能力旭愧,以及SQL颅筋、MR、Graph等多種經(jīng)典的分布式計算模型输枯,能夠更快速地解決用戶海量數(shù)據(jù)計算問題议泵,有效降低企業(yè)成本,保障數(shù)據(jù)安全桃熄。更多使用說明請參見DataWorks什么是DataWorks先口。
您可以將DataWorks理解成MaxCompute的一種Web客戶端。MaxCompute是DataWorks的一種計算引擎瞳收。
MaxCompute與數(shù)據(jù)集成
MaxCompute可以通過數(shù)據(jù)集成加載不同數(shù)據(jù)源(例如:MySQL數(shù)據(jù)庫等)數(shù)據(jù)碉京,同樣也可以通過數(shù)據(jù)集成把MaxCompute的數(shù)據(jù)導(dǎo)出到各種業(yè)務(wù)數(shù)據(jù)庫。
數(shù)據(jù)集成功能已經(jīng)集成到DataWorks作為數(shù)據(jù)同步任務(wù)進(jìn)行配置螟深、運行谐宙。您可直接在DataWorks上配置MaxCompute數(shù)據(jù)源,再配置讀取MaxCompute表或者寫入MaxCompute表任務(wù)界弧,數(shù)據(jù)的導(dǎo)入和導(dǎo)出整個過程只需在一個平臺上進(jìn)行操作凡蜻。
MaxCompute與機器學(xué)習(xí)PAI
MaxCompute與QuickBI
數(shù)據(jù)在MaxCompute進(jìn)行加工處理后搭综,將Project添加為QuickBI數(shù)據(jù)源,即可在QuickBI頁面對MaxCompute表數(shù)據(jù)進(jìn)行報表制作划栓,實現(xiàn)數(shù)據(jù)可視化分析兑巾。
MaxCompute與AnalyticDB for MySQL
AnalyticDB for MySQL是海量數(shù)據(jù)實時高并發(fā)在線分析(Realtime OLAP)的云計算服務(wù),與MaxCompute結(jié)合實現(xiàn)大數(shù)據(jù)驅(qū)動業(yè)務(wù)系統(tǒng)的場景忠荞。通過MaxCompute離線計算挖掘蒋歌,產(chǎn)出高質(zhì)量數(shù)據(jù)后,導(dǎo)入分析型數(shù)據(jù)庫钻洒,供業(yè)務(wù)系統(tǒng)調(diào)用分析奋姿。
將MaxCompute數(shù)據(jù)導(dǎo)入到AnalyticDB for MySQL锄开,有以下兩種方式:
通過DMS for AnalyticDB for MySQL的導(dǎo)入導(dǎo)出功能進(jìn)行配置素标。
通過DataWorks配置數(shù)據(jù)同步任務(wù),MaxCompute Reader和AnalyticDB for MySQL 2.0 Writer萍悴。
MaxCompute與推薦引擎
推薦引擎是在阿里云計算環(huán)境下建立的一套推薦服務(wù)框架头遭,推薦服務(wù)通常由三部分組成:日志采集、推薦計算和產(chǎn)品對接癣诱,而推薦計算的離線計算輸入和輸出都是MaxCompute表计维。
在推薦引擎控制臺的資源管理頁面,通過添加云計算資源的方式撕予,將MaxCompute項目添加為推薦引擎的計算資源鲫惶。
MaxCompute與表格存儲
表格存儲(Table Store)是構(gòu)建在阿里云飛天分布式系統(tǒng)之上的分布式NoSQL數(shù)據(jù)存儲服務(wù),MaxCompute2.0支持直接通過外部表方式訪問表格存儲中的表數(shù)據(jù)并進(jìn)行處理实抡,詳情請參見訪問OTS非結(jié)構(gòu)化數(shù)據(jù)欠母。
MaxCompute與OSS
對象存儲OSS是海量、安全吆寨、低成本赏淌、高可靠的云存儲服務(wù),MaxCompute2.0支持直接通過外部表方式訪問對象存儲中的表數(shù)據(jù)并進(jìn)行處理啄清,詳情請參見訪問OSS非結(jié)構(gòu)化數(shù)據(jù)六水。
MaxCompute與OpenSearch
阿里云開放搜索OpenSearch是一款自主研發(fā)的大規(guī)模分布式搜索引擎平臺。數(shù)據(jù)通過MaxCompute進(jìn)行計算處理后辣卒,可以在OpenSearch平臺上通過添加數(shù)據(jù)源的方式將MaxCompute數(shù)據(jù)接入掷贾。
MaxCompute與移動數(shù)據(jù)分析
移動數(shù)據(jù)分析(Mobile Analytics)是阿里云推出的一款移動APP數(shù)據(jù)統(tǒng)計分析產(chǎn)品,為開發(fā)者提供一站式數(shù)據(jù)化運營服務(wù)荣茫。當(dāng)移動數(shù)據(jù)分析自帶的基礎(chǔ)分析報表不能滿足APP開發(fā)者的個性化需求時胯盯,APP開發(fā)者可以將數(shù)據(jù)一鍵同步至MaxCompute,結(jié)合自己的業(yè)務(wù)需求來進(jìn)一步加工计露、分析自己的數(shù)據(jù)博脑。
MaxCompute與日志服務(wù)
日志服務(wù)能快速完成數(shù)據(jù)采集憎乙、消費、投遞以及查詢分析等操作叉趣。日志數(shù)據(jù)采集后泞边,需要更多的個性化分析、挖掘疗杉,您可以通過DataWorks的數(shù)據(jù)集成將日志服務(wù)數(shù)據(jù)同步到MaxCompute阵谚,通過MaxCompute對日志數(shù)據(jù)進(jìn)行個性化、深層次的數(shù)據(jù)分析烟具、挖掘梢什。
如果您是MaxCompute初學(xué)者
如果您是初學(xué)者,建議您從以下模塊開始學(xué)習(xí):
產(chǎn)品簡介:MaxCompute產(chǎn)品的總體介紹以及包含的主要功能朝聋。通過閱讀該章節(jié)嗡午,您會對MaxCompute有一個總體的認(rèn)識。
快速開始:通過示例冀痕,指導(dǎo)您如何進(jìn)行申請賬號荔睹、安裝客戶端、創(chuàng)建表言蛇、授權(quán)僻他、導(dǎo)入導(dǎo)出數(shù)據(jù)、運行SQL任務(wù)腊尚、運行UDF/MapReduce程序等操作吨拗。
MaxCompute術(shù)語表及常用命令列表:MaxCompute的基本概念及常用命令介紹。您可以進(jìn)一步熟悉如何操作MaxCompute婿斥。
工具:在分析數(shù)據(jù)之前劝篷,您需要掌握MaxCompute常用工具的下載、配置以及使用方法受扳。
我們?yōu)槟峁?a target="_blank">客戶端工具携龟,您可以通過此工具對MaxCompute進(jìn)行操作。
配置Endpoint:MaxCompute Region的開通情況和連接方式勘高,對您在與其他云產(chǎn)品(ECS峡蟋、TableStore、OSS)互訪場景中遇到的網(wǎng)絡(luò)連通性和下載數(shù)據(jù)收費等問題進(jìn)行說明华望。
建議您熟悉以上的模塊后蕊蝗,再有針對性地對其他模塊進(jìn)行深入學(xué)習(xí)。
如果您是數(shù)據(jù)分析師
如果您是數(shù)據(jù)分析師赖舟,建議您熟讀SQL模塊的內(nèi)容蓬戚。您可以查詢并分析存儲在MaxCompute上的大規(guī)模數(shù)據(jù)。包含的主要功能如下:
支持DDL語句宾抓。您可以通過CREATE子漩、DROP和ALTER語句對表和分區(qū)進(jìn)行管理豫喧。
您可以通過SELECT選擇表中的記錄,通過WHERE語句查看滿足條件的記錄幢泼,實現(xiàn)過濾功能紧显。
您可以通過等值連接JOIN實現(xiàn)兩張表的關(guān)聯(lián)。
您可以通過對某些列GROUP BY缕棵,實現(xiàn)聚合操作孵班。
您可以通過INSERT OVERWRITE/INTO把結(jié)果記錄插入到另一張表中。
您可以通過內(nèi)置函數(shù)和自定義函數(shù)(UDF)來實現(xiàn)一系列的計算招驴。
支持收集表的統(tǒng)計信息和設(shè)置表生命周期篙程。
支持正則表達(dá)式。
如果您擁有一定開發(fā)經(jīng)驗
如果您擁有一定的開發(fā)經(jīng)驗别厘,了解分布式概念虱饿,并且針對某些無法用SQL來實現(xiàn)數(shù)據(jù)分析,推薦您學(xué)習(xí)MaxCompute更高級的功能模塊丹允。如下所示:
MapReduce:MaxCompute提供的Java MapReduce編程模型郭厌。您可以使用MapReduce提供的接口(Java API)編寫MapReduce程序袋倔,處理MaxCompute中的數(shù)據(jù)雕蔽。
Graph:一套面向迭代的圖計算處理框架。使用圖進(jìn)行建模宾娜,圖由點(Vertex)和邊(Edge)組成批狐,點和邊包含權(quán)值(Value)。通過迭代對圖進(jìn)行編輯前塔、演化嚣艇,最終得出結(jié)果。
Tunnel:您可以使用Tunnel服務(wù)向MaxCompute批量上傳離線數(shù)據(jù)或者從MaxCompute下載離線數(shù)據(jù)华弓。
SDK:
Java SDK:向開發(fā)者提供Java接口食零。
Python SDK:向開發(fā)者提供Python接口。