作者:觀濤
BigData 概念在上世紀(jì)90年代被提出,隨Google的3篇經(jīng)典論文(GFS,BigTable,MapReduce)奠基,已經(jīng)發(fā)展了超過10年。這10年中,誕生了包括Google大數(shù)據(jù)體系,微軟Cosmos體系,開源Hadoop體系等優(yōu)秀的系統(tǒng),這其中也包括阿里云的飛天系統(tǒng)。這些系統(tǒng)一步一步推動(dòng)業(yè)界進(jìn)入“數(shù)字化“和之后的“AI化”的時(shí)代。
同時(shí),與其他老牌系統(tǒng)相比(如,Linux等操作系統(tǒng)體系,數(shù)據(jù)庫系統(tǒng),中間件,很多有超過30年的歷史),大數(shù)據(jù)系統(tǒng)又非常年輕,隨云計(jì)算普惠,正大規(guī)模被應(yīng)用。海量的需求和迭代推動(dòng)系統(tǒng)快速發(fā)展,有蓬勃的生機(jī)。(技術(shù)體系的發(fā)展,可以通過如下Hype-Cycle概述,作者認(rèn)為,大數(shù)據(jù)系統(tǒng)的發(fā)展進(jìn)入技術(shù)復(fù)興期/Slope of Enlightenment,并開始大規(guī)模應(yīng)用Plateau of Productivity。)
上圖來自Gartner
如果說,0到1上線標(biāo)志一個(gè)系統(tǒng)的誕生,在集團(tuán)內(nèi)大規(guī)模部署標(biāo)志一個(gè)系統(tǒng)的成長,在云上對外大規(guī)模服務(wù)標(biāo)志一個(gè)系統(tǒng)的成熟。MaxCompute這10年已經(jīng)走向成熟,經(jīng)過多次升級換代,功能、性能、服務(wù)、穩(wěn)定性已經(jīng)有一個(gè)體系化的基礎(chǔ),成為阿里巴巴集團(tuán)數(shù)據(jù)中臺的計(jì)算核心和阿里云大數(shù)據(jù)的基礎(chǔ)服務(wù)。
“十年磨一劍”。MaxCompute去年做了哪些工作,這些工作背后的原因是什么?大數(shù)據(jù)市場進(jìn)入普惠+紅海的新階段,如何與生態(tài)發(fā)展共贏?人工智能進(jìn)入井噴階段,如何支持與借力?本文從過去一年的總結(jié),核心技術(shù)概覽,以及每條技術(shù)線路未來展望等幾個(gè)方面做一個(gè)概述。
1.MaxCompute(ODPS)概述
'Big data represents the information assets characterized by such a high volume, velocity and variety to require specific technology and analytical methods for its transformation into value'.
用5個(gè)“V”來描述大數(shù)據(jù)的特點(diǎn):
Volume-數(shù)據(jù)量:數(shù)據(jù)量非線性增長,包括采集、存儲和計(jì)算的量都非常大,且增速很快。
Variety-數(shù)據(jù)類型:包括結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),特別是最近隨音視圖興起,非結(jié)構(gòu)化數(shù)據(jù)增速更快。
Velocity-數(shù)據(jù)存儲和計(jì)算的增長速度:數(shù)據(jù)增長速度快,處理速度快,時(shí)效性要求高。
Veracity-信噪比:數(shù)據(jù)量越大,噪聲越多,需要深入挖掘數(shù)據(jù)來得到結(jié)果。
Value-價(jià)值:數(shù)據(jù)作為一種資產(chǎn),有1+1>2的特點(diǎn)。
總結(jié)下來,大數(shù)據(jù)具備如下的五個(gè)趨勢:
數(shù)據(jù)爆炸導(dǎo)致數(shù)據(jù)和計(jì)算量增速很高,很多時(shí)候超過業(yè)務(wù)增速。帶來成本壓力!
數(shù)據(jù)量變大,但單位數(shù)據(jù)的價(jià)值在下降,深度挖掘勢在必行,但反過來要求計(jì)算力的進(jìn)一步提升。
非結(jié)構(gòu)化數(shù)據(jù)處理,成為趨勢。
時(shí)效性,是能完成任務(wù)之后,用戶的新期待。
超大規(guī)模的數(shù)據(jù)和計(jì)算,對人工管理是一個(gè)挑戰(zhàn)。
上述趨勢,也會得出了作為大數(shù)據(jù)平臺,我們要發(fā)力的方向:計(jì)算力,智能化,生態(tài)系統(tǒng)。
阿里云大數(shù)據(jù)計(jì)算服務(wù)(MaxCompute,原名ODPS)是阿里云提供的一種安全可靠、高效能、低成本、從GB到EB級別按需彈性伸縮的在線大數(shù)據(jù)計(jì)算服務(wù)。
MaxCompute向用戶提供了豐富的大數(shù)據(jù)開發(fā)工具、完善的數(shù)據(jù)導(dǎo)入導(dǎo)出方案以及多種經(jīng)典的分布式計(jì)算模型。能夠最快速的解決用戶海量數(shù)據(jù)計(jì)算問題,有效降低企業(yè)大數(shù)據(jù)計(jì)算平臺的總體擁有成本,提高大數(shù)據(jù)應(yīng)用開發(fā)效率,并保障數(shù)據(jù)在云計(jì)算環(huán)境的安全。被廣泛的應(yīng)用于互聯(lián)網(wǎng)海量數(shù)據(jù)分析類場景。
MaxCompute是大數(shù)據(jù)云數(shù)倉的數(shù)據(jù)匯集點(diǎn),存儲和管理EB級數(shù)據(jù),支持彈性伸縮的高性能大數(shù)據(jù)計(jì)算服務(wù):它不只是個(gè)單一的引擎,而是一個(gè)平臺。
“不是單一的引擎”體現(xiàn)在,MaxCompute原生支持SQL、MR、DAG編程語義和Graph、PAI機(jī)器學(xué)習(xí)計(jì)算,同時(shí)也通過聯(lián)合計(jì)算平臺支持任意第三方引擎,如Spark、Flink等。
“一個(gè)平臺”體現(xiàn)在,MaxCompute提供統(tǒng)一高效的數(shù)據(jù)存儲,可靠的元數(shù)據(jù)服務(wù),跨地域多集群管理,和數(shù)據(jù)/計(jì)算調(diào)度能力。
MaxCompute以其可靠性、高性能、擴(kuò)展性、安全性和富生態(tài)被廣泛的用于互聯(lián)網(wǎng)海量數(shù)據(jù)分析場景,如海量數(shù)據(jù)分析與處理、大數(shù)據(jù)倉庫、產(chǎn)品維度報(bào)表、機(jī)器學(xué)習(xí)訓(xùn)練、等場景。
大數(shù)據(jù)發(fā)展到今天,數(shù)據(jù)倉庫市場潛力仍然巨大,更多客戶開始選擇云數(shù)據(jù)倉庫,CDW仍處于高速增長期。當(dāng)前互聯(lián)網(wǎng)公司和傳統(tǒng)數(shù)倉廠家都有進(jìn)入領(lǐng)導(dǎo)者地位,競爭激烈,阿里巴巴CDW在全球權(quán)威咨詢與服務(wù)機(jī)構(gòu)Forrester發(fā)布的《The Forrester WaveTM: Cloud Data Warehouse, Q4 2018》報(bào)告中位列中國第一,全球第七。
在CDW的領(lǐng)導(dǎo)者中,AWS Redshift 高度商業(yè)化、商業(yè)客戶部署規(guī)模領(lǐng)先整個(gè)市場,GoogleBigQuery以高性能、高度彈性伸縮獲得領(lǐng)先,Oracle 云數(shù)倉服務(wù)以自動(dòng)化數(shù)倉技術(shù)獲得領(lǐng)先。
MaxCompute當(dāng)前的定位是市場競爭者,目標(biāo)是成為客戶大數(shù)據(jù)的“航母”級計(jì)算引擎,解決客戶在物聯(lián)網(wǎng)、日志分析、人工智能等場景下日益增長的數(shù)據(jù)規(guī)模與計(jì)算性能下降、成本上升、復(fù)雜度上升、數(shù)據(jù)安全風(fēng)險(xiǎn)加大之間的矛盾。在此目標(biāo)定位下,對MaxCompute在智能數(shù)倉、高可靠性、高自動(dòng)化、數(shù)據(jù)安全等方面的能力提出了更高的要求。
2. 2018年MaxCompute技術(shù)發(fā)展概述
過去的一個(gè)財(cái)年,MaxCompute 在技術(shù)發(fā)展上堅(jiān)持在核心引擎、開放平臺、技術(shù)新領(lǐng)域等方向的深耕,在業(yè)務(wù)上繼續(xù)匠心打造產(chǎn)品,擴(kuò)大業(yè)界影響力。
效率提升
2018年9月云棲大會發(fā)布,MaxCompute 在標(biāo)準(zhǔn)測試集 TPC-BB 100TB整體指標(biāo)較2017年提升一倍以上。
得益于整體效率的提升,在集團(tuán)內(nèi)部 MaxCompute 以20%的硬件增長支撐了超過70%的業(yè)務(wù)增長。
系統(tǒng)開放性和與生態(tài)融合
聯(lián)合計(jì)算平臺 Cupid 逐步成熟,性能 與EMR Spark Benchmark 持平,支持K8S接口,支持完整的框架安全體系。Spark On MaxCompute已開始支持云上業(yè)務(wù)
Python分布式項(xiàng)目MARS正式發(fā)布,開源兩周內(nèi)收獲1200+ Star,填補(bǔ)了國內(nèi)在Python生態(tài)上支持大規(guī)模分布式科學(xué)計(jì)算的空白,是競品Dask性能的3倍。
探索新領(lǐng)域
MaxCompute 持續(xù)在前沿技術(shù)領(lǐng)域投入,保持技術(shù)先進(jìn)性。在下一代引擎方向(如Adaptive Operators、,Operator Fusion、ClusteredTable等),智能數(shù)倉 Auto Datawarehouse 方向上的調(diào)研都取得了不錯(cuò)的進(jìn)展。在漸進(jìn)計(jì)算 (Progressive Execution)、Advanced Fail Checking and Recovery 、基于 ML的分布式計(jì)算平臺優(yōu)化、超大數(shù)據(jù)量Query子圖匹配等多個(gè)方向上的調(diào)研也在進(jìn)行中。
深度參與和推動(dòng)全球大數(shù)據(jù)領(lǐng)域標(biāo)準(zhǔn)化建設(shè)
2018年11月,MaxCompute與DataWorks/AnalyticDB一起代表阿里云入選 Forrester Wave? Q4 2018云數(shù)據(jù)倉庫研究報(bào)告,在產(chǎn)品能力綜合得分上力壓微軟,排名全球第七,中國第一。
2019年3月,MaxCompute 正式代表Alibaba加入了TPC委員會推動(dòng)融入和建立標(biāo)準(zhǔn)。
MaxCompute持續(xù)在開源社區(qū)投入。成為全球兩大熱門計(jì)算存儲標(biāo)準(zhǔn)化開源體系ORC社區(qū)的PMC,MaxCompute成為近兩年貢獻(xiàn)代碼量最多的貢獻(xiàn)者,引導(dǎo)存儲標(biāo)準(zhǔn)化;在全球最熱門優(yōu)化器項(xiàng)目Calcite,擁有一個(gè)專委席位,成為國內(nèi)前兩家具備該領(lǐng)域影響力的公司,推動(dòng)數(shù)十個(gè)貢獻(xiàn)。
3.核心技術(shù)棧
大數(shù)據(jù)市場進(jìn)入普惠+紅海的新階段,如何借力井噴階段中的人工智能,如何與生態(tài)發(fā)展共贏?
基于橫向架構(gòu)上的核心引擎和系統(tǒng)平臺,MaxCompute在計(jì)算力、生態(tài)化、智能化3個(gè)縱向上著力發(fā)展差異化的競爭力。
首先我們從計(jì)算力這個(gè)角度出發(fā),介紹一下 MaxCompute 的技術(shù)架構(gòu)。
支撐 MaxCompute 的計(jì)算力的核心模塊之一是其 SQL 引擎:在 MaxCompute 的作業(yè)中,有90%以上的作業(yè)是 SQL 作業(yè),SQL 引擎的能力是 MaxCompute 的核心競爭力之一。在MaxCompute 產(chǎn)品框架中,SQL 引擎將用戶的SQL語句轉(zhuǎn)換成對應(yīng)的分布式執(zhí)行計(jì)劃來執(zhí)行。SQL 引擎由3個(gè)主要模塊構(gòu)成:
編譯器 Compiler: 對 SQL 標(biāo)準(zhǔn)有友好支持,支持100% TPC-DS語法;并具備強(qiáng)大都錯(cuò)誤恢復(fù)能力,支持 MaxCompute Studio 等先進(jìn)應(yīng)用。
運(yùn)行時(shí) Runtime: 基于LLVM優(yōu)化代碼生產(chǎn),支持列式處理與豐富的關(guān)系算符;基于 CPP 的運(yùn)行時(shí)具有更高效率。
優(yōu)化器 Optimizer: 支持HBO和基于 Calcite 的 CBO, 通過多種優(yōu)化手段不斷提升 MaxCompute 性能。
(上圖中部分功能只在阿里集團(tuán)內(nèi)部發(fā)布,云上版本會陸續(xù)發(fā)布上線)
MaxCompute SQL 引擎當(dāng)前的發(fā)展,以提升用戶體驗(yàn)為核心目標(biāo),在 SQL 語言能力、引擎優(yōu)化等多個(gè)方向上兼顧發(fā)力,建立技術(shù)優(yōu)勢,在SQL 語言能力方面,新一代大數(shù)據(jù)語言NewSQL做到了 Declarative 語言和 Imperative 語言的融合,進(jìn)一步提升語言兼容性,目前已100% 支持 TPC-DS 語法。過去一年中,MaxCompute 新增對 GroupingSets,If-Else分支語句,動(dòng)態(tài)類型函數(shù),等方面的支持。
MaxCompute 不僅僅是一個(gè)計(jì)算平臺,也承擔(dān)著大數(shù)據(jù)的存儲。阿里巴巴集團(tuán)99%的大數(shù)據(jù)存儲都基于MaxCompute,提高數(shù)據(jù)存儲效率、穩(wěn)定性、可用性,也是MaxCompute一直努力的目標(biāo)。
MaxCompute 存儲層處于 MaxCompute Tasks和底層盤古分布式文件系統(tǒng)之間,提供一個(gè)統(tǒng)一的邏輯數(shù)據(jù)模型給各種各樣的計(jì)算任務(wù)。MaxCompute的存儲格式演化,從最早的行存格式CFile1,到第一個(gè)列存儲格式CFile2,到第三代存儲格式。
支持更復(fù)雜的編碼方式,異步預(yù)讀等功能,進(jìn)一步提升效能。在存儲和計(jì)算2個(gè)方面都帶來了效能的提升。存儲成本方面,在阿里巴巴集團(tuán)內(nèi)通過新一代的列存格式節(jié)省約8%存儲空間,直接降低約1億成本;在計(jì)算效率上,過去的一個(gè)財(cái)年中發(fā)布的每個(gè)版本之間都實(shí)現(xiàn)了20%的提升。目前在集團(tuán)內(nèi)大規(guī)模落地的過程中。
在歸檔以及壓縮方面,MaxCompute 支持ZSTD壓縮格式,以及壓縮策略,用戶可以在Normal,High和Extreme三種Stategy里面選擇。更高的壓縮級別,帶來更高效的存儲,但也意味著更高的讀寫CPU代價(jià)。
2018年,MaxCompute 陸續(xù)推出了 Hash Clustering 和 Range Clustering 支持富結(jié)構(gòu)化數(shù)據(jù),并持續(xù)的進(jìn)行了深度的優(yōu)化,例如增加了 Shuffle Remove,Clustering Pruning 等優(yōu)化。從線上試用數(shù)據(jù),以及大量的 ATA 用戶實(shí)踐案例也可以看出,Clustering 的收益也獲得了用戶的認(rèn)可。
資源與任務(wù)管理
MaxCompute 框架為ODPS上面各種類型的計(jì)算引擎提供穩(wěn)定便捷的作業(yè)接入管理接口,管理著ODPS各種類型Task的生命周期。過去一年對短作業(yè)查詢的持續(xù)優(yōu)化,縮短e2e時(shí)間,加強(qiáng)對異常作業(yè)(OOM)的自動(dòng)檢測與隔離處理,全面打開服務(wù)級別流控,限制作業(yè)異常提交流量,為服務(wù)整體穩(wěn)定性保駕護(hù)航。
MaxCompute 存儲著海量的數(shù)據(jù),也產(chǎn)生了豐富的數(shù)據(jù)元數(shù)據(jù)。在離線元倉統(tǒng)計(jì)T+1的情況下,用戶至少需要一天后才能做事后的數(shù)據(jù)風(fēng)險(xiǎn)審計(jì),現(xiàn)實(shí)場景下用戶希望更早風(fēng)險(xiǎn)控制,將數(shù)據(jù)訪問事件和項(xiàng)目空間授權(quán)事件通過CUPID平臺實(shí)時(shí)推送到用戶DataHub訂閱,用戶可以通過消費(fèi)DataHub實(shí)時(shí)獲取項(xiàng)目空間表、volume數(shù)據(jù)被誰訪問等。
元數(shù)據(jù)管理
元數(shù)據(jù)服務(wù)支撐了MaxCompute各個(gè)計(jì)算引擎及框架的運(yùn)行。每天運(yùn)行在MaxCompute的作業(yè),都依賴元數(shù)據(jù)服務(wù)完成DDL,DML以及授權(quán)及鑒權(quán)的操作。元數(shù)據(jù)服務(wù)保障了作業(yè)的穩(wěn)定性和吞吐率,保障了數(shù)據(jù)的完整性和數(shù)據(jù)訪問的安全性。元數(shù)據(jù)服務(wù)包含了三個(gè)核心模塊:
Catalog完成DDL,DML及DCL(權(quán)限管理)的業(yè)務(wù)邏輯,Catalog保障MaxCompute作業(yè)的ACID特性。
MetaServer完成元數(shù)據(jù)的高可用存儲和查詢能力。
AuthServer是高性能和高QPS的鑒權(quán)服務(wù),完成對MaxCompute的所有請求的鑒權(quán),保障數(shù)據(jù)訪問安全。
元數(shù)據(jù)服務(wù)經(jīng)過了模塊化和服務(wù)化后,對核心事務(wù)管理引擎做了多次技術(shù)升級,通過數(shù)據(jù)目錄多版本,元數(shù)據(jù)存儲重構(gòu)等改造升級,保障了數(shù)據(jù)操作的原子性和強(qiáng)一致,并提高了作業(yè)提交的隔離能力,并保障了線上作業(yè)的穩(wěn)定性。
在數(shù)據(jù)安全越來越重要的今天,元數(shù)據(jù)服務(wù)和阿里巴巴集團(tuán)安全部合作,權(quán)限系統(tǒng)升級到了2.0。核心改進(jìn)包括:
MAC(強(qiáng)制安全控制)及安全策略管理:讓項(xiàng)目空間管理員能更加靈活地控制用戶對列級別敏感數(shù)據(jù)的訪問,強(qiáng)制訪問控制機(jī)制(MAC)獨(dú)立于自主訪問控制機(jī)制(DAC)。
數(shù)據(jù)分類分級:新增數(shù)據(jù)的標(biāo)簽?zāi)芰?,支持對?shù)據(jù)做隱私類數(shù)據(jù)打標(biāo)。
精細(xì)權(quán)限管理:將ACL的管控能力拓展到了Package內(nèi)的表和資源,實(shí)現(xiàn)字段級的權(quán)限的精細(xì)化管理。
系統(tǒng)安全
系統(tǒng)安全方面, MaxCompute通過綜合運(yùn)用計(jì)算虛擬化和網(wǎng)絡(luò)虛擬化技術(shù), 為云上多租戶各自的用戶自定義代碼邏輯提供了安全而且完善的計(jì)算和網(wǎng)絡(luò)隔離環(huán)境。SQL UDF(python udf 和 java udf), CUPID聯(lián)合計(jì)算平臺(Sparks/Mars等), PAI tensorflow等計(jì)算形態(tài)都基于這套統(tǒng)一的基礎(chǔ)隔離系統(tǒng)構(gòu)建上層計(jì)算引擎。
MaxCompute 還通過提供原生的存儲加密能力, 抵御非授權(quán)訪問存儲設(shè)備的數(shù)據(jù)泄露風(fēng)險(xiǎn). MaxCompute內(nèi)置的存儲加密能力, 可以基于KMS云服務(wù)支持用戶自定義秘鑰(BYOK)以及AES256加密算法,并計(jì)劃提供符合國密合規(guī)要求的SM系列加密算法支持。
結(jié)合MaxCompute元倉(MetaData)提供的安全審計(jì)能力和元數(shù)據(jù)管理(MetaService)提供的安全授權(quán)鑒權(quán)能力,以及數(shù)據(jù)安全生態(tài)中安全衛(wèi)士和數(shù)據(jù)保護(hù)傘等安全產(chǎn)品,就構(gòu)成了 MaxCompute安全棧完整大圖。
作為一個(gè)大規(guī)模數(shù)據(jù)計(jì)算平臺,MaxCompute 擁有來自各類場景的EB級數(shù)據(jù),需要快速滿足各類業(yè)務(wù)發(fā)展的需要。在真實(shí)的用戶場景中,很少有用戶只用到一套系統(tǒng):用戶會有多份數(shù)據(jù),或者使用多種引擎。聯(lián)合計(jì)算融合不同的數(shù)據(jù),豐富 MaxCompute 的數(shù)據(jù)處理生態(tài),打破數(shù)據(jù)孤島,打通阿里云核心計(jì)算平臺與阿里云各個(gè)重要存儲服務(wù)之間的數(shù)據(jù)鏈路。聯(lián)合計(jì)算也融合不同的引擎,提供多種計(jì)算模式,支持開源生態(tài)。開源能帶來豐富和靈活的技術(shù)以賦能業(yè)務(wù),通過兼容開源API對接開源生態(tài)。另一方面,在開源過程中我們需要解決最小化引入開源技術(shù)成本及打通數(shù)據(jù)、適配開源接口等問題。
聯(lián)合計(jì)算平臺 Cupid 使一個(gè)平臺能夠支持 Spark、Flink,Tensorflow、Numpy,ElasticSearch 等多種異構(gòu)引擎, 在一份數(shù)據(jù)上做計(jì)算。在數(shù)據(jù)統(tǒng)一、資源統(tǒng)一的基礎(chǔ)上,提供標(biāo)準(zhǔn)化的接口,將不同的引擎融合在一起做聯(lián)合計(jì)算。
Cupid 的工作原理是通過將 MaxCompute 所依賴的 Fuxi 、Pangu 等飛天組間接口適配成開源領(lǐng)域常見的 Yarn、HDFS 接口,使得開源引擎可以順利執(zhí)行?,F(xiàn)在,Cupid 新增支持了 Kubernetes 接口,使得聯(lián)合計(jì)算平臺更加開放。
案例:Spark On MaxCompute
Spark 是聯(lián)合計(jì)算平臺第一個(gè)支持的開源引擎?;?Cupid 的 Spark on MaxCompute 實(shí)現(xiàn)了與 MaxCompute 數(shù)據(jù)/元數(shù)據(jù)的完美集成;遵循 MaxCompute 多租戶權(quán)限及安全體系;與Dataworks、PAI平臺集成;支持 Spark Streaming,Mllib, GraphX, Spark SQL, 交互式等完整 Spark生態(tài);支持動(dòng)態(tài)資源伸縮等。
隨著大數(shù)據(jù)業(yè)務(wù)的不斷擴(kuò)展,新的數(shù)據(jù)使用場景在不斷產(chǎn)生,用戶也期望把所有數(shù)據(jù)放到一起計(jì)算,從而能取得 1+1 > 2 這樣更好的結(jié)果。MaxCompute 提出了聯(lián)合計(jì)算,將計(jì)算下推,聯(lián)動(dòng)其他系統(tǒng):將一個(gè)作業(yè)在多套系統(tǒng)聯(lián)動(dòng),利用起各個(gè)系統(tǒng)可行的優(yōu)化,做最優(yōu)的決策,實(shí)現(xiàn)數(shù)據(jù)之間的聯(lián)動(dòng)和打通。
(上圖為MaxCompute集團(tuán)內(nèi)和專有云能力,公共云已實(shí)現(xiàn)與OSS、OTS的數(shù)據(jù)互通)
MaxCompute 通過異構(gòu)數(shù)據(jù)支持來提供與各種數(shù)據(jù)的聯(lián)通,這里的“各種數(shù)據(jù)”是兩個(gè)維度上的:
1. 多樣的數(shù)據(jù)存儲介質(zhì)(外部數(shù)據(jù)源),插件式的框架可以對接多種數(shù)據(jù)存儲介質(zhì)。當(dāng)前支持的外部數(shù)據(jù)源有:OSS, TableStore(OTS), TDDL,Volume。
2. 多樣的數(shù)據(jù)存儲格式:開源的數(shù)據(jù)格式支持,如 ORC、Parquet 等;半結(jié)構(gòu)化數(shù)據(jù),如包括 CSV、Json等隱含一定 schema 的文本文件;完全無結(jié)構(gòu)數(shù)據(jù),如對OSS上的文本,音頻、圖像及其他開源格式的數(shù)據(jù)進(jìn)行計(jì)算。
基于MaxCompute 異構(gòu)數(shù)據(jù)支持,用戶通過一條簡單的 DDL 語句即可在 MaxCompute 上創(chuàng)建一張EXTERNAL TABLE(外表),建立 MaxCompute 表與外部數(shù)據(jù)源的關(guān)聯(lián),提供各種數(shù)據(jù)的接入和輸出能力。創(chuàng)建好的外表在大部分場景中可以像普通的 MaxCompute 表一樣使用,充分利用 MaxCompute 的強(qiáng)大計(jì)算力和數(shù)據(jù)集成、作業(yè)調(diào)度等功能。MaxCompute 外表支持不同數(shù)據(jù)源之間的Join,支持?jǐn)?shù)據(jù)融合分析,從而幫助您獲得通過查詢獨(dú)立的數(shù)據(jù)孤島無法獲得的獨(dú)特見解。從而MaxCompute 可以把數(shù)據(jù)查詢從數(shù)據(jù)倉庫擴(kuò)展到EB級的數(shù)據(jù)湖(如OSS),快速分析任何規(guī)模的數(shù)據(jù),沒有MaxCompute存儲成本,無需加載或 ETL。
異構(gòu)數(shù)據(jù)支持是MaxCompute 2.0升級中的一項(xiàng)重大更新,意在豐富MaxCompute的數(shù)據(jù)處理生態(tài),打破數(shù)據(jù)孤島,打通阿里云核心計(jì)算平臺與阿里云各個(gè)重要存儲服務(wù)之間的數(shù)據(jù)鏈路。
c. Python 生態(tài)和 MARS科學(xué)計(jì)算引擎
MaxCompute 的開源生態(tài)體系中,對 Python 的支持主要包括 PyODPS、Python UDF、和 MARS。
PyODPS一方面是MaxCompute 的 Python SDK,同時(shí)也提供 DataFrame 框架,提供類似 pandas 的語法,能利用 MaxCompute 強(qiáng)大的處理能力來處理超大規(guī)模數(shù)據(jù)。
基于MaxCompute豐富的用戶自定義函數(shù)(UDF)支持,用戶可以在 ODPS SQL 中編寫 Python UDF 來擴(kuò)展 ODPS SQL。 MARS 則是為了賦能 MaxCompute 科學(xué)計(jì)算,全新開發(fā)的基于矩陣的統(tǒng)一計(jì)算框架。使用 Mars 進(jìn)行科學(xué)計(jì)算,不僅能大幅度減少分布式科學(xué)計(jì)算代碼編寫難度,在性能上也有大幅提升。
3.3 智能化
隨著大數(shù)據(jù)的發(fā)展,我們在幾年前就開始面對數(shù)據(jù)/作業(yè) 爆發(fā)式增長的趨勢。面對百萬計(jì)的作業(yè)和表,如何做管理呢?
MaxCompute通過對歷史作業(yè)特征的學(xué)習(xí)、基于對數(shù)據(jù)和作業(yè)的深刻理解,讓MaxCompute上的業(yè)務(wù)一定程度實(shí)現(xiàn)自適應(yīng)調(diào)整,讓算法和系統(tǒng)幫助用戶自動(dòng)、透明、高效地進(jìn)行數(shù)倉管理和重構(gòu)優(yōu)化工作,實(shí)現(xiàn)更好地理解數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)智能排布和作業(yè)全球調(diào)度,做到大數(shù)據(jù)處理領(lǐng)域的“自動(dòng)駕駛”,也就是我們所說的Auto Data Warehousing。
Auto Data Warehousing 在線上真實(shí)的業(yè)務(wù)中,到底能做什么呢?我們以Hash Clustering的自動(dòng)推薦來小試牛刀。Hash Clustering 經(jīng)過一年多的發(fā)展,功能不斷完善,但對用戶來說,最難的問題仍然在于,給哪些表建立怎樣的Clustering策略是最佳的方案?
MaxCompute 基于 Auto Data Warehousing,來實(shí)現(xiàn)為用戶推薦如何使用 Hash Clustering,回答如何選擇Table、如何設(shè)置Clutering key和分桶數(shù)等問題,讓用戶在海量數(shù)據(jù)、海量作業(yè)、快速變化的業(yè)務(wù)場景下,充分利用平臺功能。
4. 商業(yè)化歷程
從2009年云梯到ODPS,再到MaxCompute,MaxCompute(ODPS) 這個(gè)大數(shù)據(jù)平臺已經(jīng)發(fā)展了十年。回顧 MaxCompute 的發(fā)展,首先從云梯到完成登月,成為了一個(gè)統(tǒng)一的大數(shù)據(jù)平臺。
2014年,MaxCompute 開始商業(yè)化的歷程,走出集團(tuán)、向公共云和專有云輸出,直面中國、乃至全球的用戶。面對挑戰(zhàn),MaxCompute 堅(jiān)持產(chǎn)品核心能力的增強(qiáng),以及差異化能力的打造, 贏得了客戶的選擇。
回顧上云歷程,公共云的第一個(gè)節(jié)點(diǎn)華東2上海在2014(13年)年7月開服,經(jīng)過4年多發(fā)展,MaxCompute 已在全球部署18個(gè)Region,為云上過萬家用戶提供大數(shù)據(jù)計(jì)算服務(wù),,客戶已覆蓋了新零售、傳媒、社交、互聯(lián)網(wǎng)金融、健康、教育等多個(gè)行業(yè)。專有云的起點(diǎn)則從2014年8月第一套POC環(huán)境部署開始,發(fā)展至今專有云總機(jī)器規(guī)模已超過10000臺;輸出項(xiàng)目150+套,客戶涵蓋城市大腦,大安全,稅務(wù),等多個(gè)重點(diǎn)行業(yè)。
今天,MaxCompute 在全球有超過十萬的服務(wù)器,通過統(tǒng)一的作業(yè)調(diào)度系統(tǒng)和統(tǒng)一的元數(shù)據(jù)管理,這十萬多臺服務(wù)器就像一臺計(jì)算機(jī),為全球用戶提供提供包括批計(jì)算、流計(jì)算、內(nèi)存計(jì)算、機(jī)器學(xué)習(xí)、迭代等一系列計(jì)算能力。這一整套計(jì)算平臺成為了阿里巴巴經(jīng)濟(jì)體,以及阿里云背后計(jì)算力的強(qiáng)有力支撐。MaxCompute 作為一個(gè)完整的大數(shù)據(jù)平臺,將不斷以技術(shù)驅(qū)動(dòng)平臺和產(chǎn)品化發(fā)展,讓企業(yè)和社會能夠擁有充沛的計(jì)算能力,持續(xù)快速進(jìn)化,驅(qū)動(dòng)數(shù)字中國。
本文為投稿作品,僅代表個(gè)人觀點(diǎn)。
作者介紹:
關(guān)濤,花名觀濤,是阿里云智能事業(yè)群研究員,通用計(jì)算平臺負(fù)責(zé)人。
實(shí)習(xí)/全職編輯記者招聘ing
加入我們,親身體驗(yàn)一家專業(yè)科技媒體采寫的每個(gè)細(xì)節(jié),在最有前景的行業(yè),和一群遍布全球最優(yōu)秀的人一起成長。坐標(biāo)北京·清華東門,在大數(shù)據(jù)文摘主頁對話頁回復(fù)“招聘”了解詳情。簡歷請直接發(fā)送至zz@bigdatadigest.cn
聯(lián)系客服