如何用好云原生數(shù)據(jù)湖?
????數(shù)據(jù)湖可以很好地幫助企業(yè)應對當前數(shù)據(jù)場景越來越多、數(shù)據(jù)結構越來越復雜、數(shù)據(jù)處理需求越來越多樣化的問題。阿里云從2018年起就開始布局數(shù)據(jù)湖,推出了云原生數(shù)據(jù)湖分析Data Lake Analytics(DLA),從數(shù)據(jù)湖管理(幫助客戶高效管理構建數(shù)據(jù)湖),Serverless Spark(提供高性價比的大規(guī)模計算),Serverless SQL(提供高性價比的在線交互式分析)三個方面幫助客戶挖掘數(shù)據(jù)價值。本文分享相關技術挑戰(zhàn)及解決方案。
一 數(shù)據(jù)湖的機遇與挑戰(zhàn)
數(shù)據(jù)湖可以很好地幫助企業(yè)應對當前數(shù)據(jù)場景越來越多、數(shù)據(jù)結構越來越復雜、數(shù)據(jù)處理的需求越來越多樣化的問題。Gartner 2020年發(fā)布的報告顯示目前已經有39%的用戶在使用數(shù)據(jù)湖,34%的用戶考慮在1年內使用數(shù)據(jù)湖。
從2018年起,阿里云就開始布局數(shù)據(jù)湖,推出了云原生數(shù)據(jù)湖分析Data Lake Analytics(簡稱:DLA)產品,結合對象存儲OSS一起,從彈性擴展、按需付費、服務化等方面打造有競爭力的產品。通過采用存儲計算分離模式,存儲和計算完全按需付費,用戶只需要為實際產生價值的計算買單;DLA深度定制云原生彈性能力,實現(xiàn)作業(yè)級彈性,一分鐘可彈300個節(jié)點。云原生數(shù)據(jù)湖分析DLA從成本、彈性、交付能力方面相對傳統(tǒng)數(shù)據(jù)分析方案,獲得了較大的提升。
?? 
在云上也已經有數(shù)千家企業(yè)使用數(shù)據(jù)湖服務滿足數(shù)據(jù)應用,如友盟+ 的U-DOP數(shù)據(jù)開放平臺根據(jù)友盟+多年沉淀的大數(shù)據(jù)領域經驗,形成了以APP、WEB、小程序、廣告營銷、社會化分享和推送為基礎的多端主題數(shù)據(jù)的采集和處理能力,為客戶形成規(guī)范化的多端數(shù)據(jù)資產。尤其是利用了數(shù)據(jù)湖的彈性能力,應對了雙十一峰值期間DAU暴漲的業(yè)務變化,例如,通過實施分析搜索關鍵詞的變化,改變首頁廣告推薦信息,對活躍用戶和下單用戶分不同渠道的分析梳理,及時調整優(yōu)惠策略,以吸引更多的客戶新購及復購等。
數(shù)據(jù)庫與大數(shù)據(jù)一體化趨勢在加強,傳統(tǒng)的數(shù)據(jù)庫使用者與DBA,也可以使用及維護大數(shù)據(jù)系統(tǒng),一體化解決大數(shù)據(jù)的問題。具體在DLA體現(xiàn)在數(shù)據(jù)庫的數(shù)據(jù)無縫與大數(shù)據(jù)結合,比如DLA提供的一鍵入湖建倉的功能;DLA Serverless SQL兼容MySQL協(xié)議及部分語法。
DLA Serverless產品形態(tài),開發(fā)者只需要使用平臺接口即可,如使用DLA SQL的JDBC接口提交SQL,使用DLA Spark的OpenAPI提交Spark作業(yè)。開發(fā)者只需要關注業(yè)務邏輯本身,不需要關心平臺的復雜邏輯。原來使用開源組件遇到的很多痛點都可以迎刃而解:
入門門檻高
Hadoop生態(tài)往往需要多個組件同時使用,比如Yarn、HDFS、Spark、Hive、Kerberos、Zookeeper等等。開發(fā)者需要了解所有組件,因為開發(fā)過程中這些組件往往都會接觸到。
開發(fā)維護困難
開發(fā)者在開發(fā)過程中會遇到各個組件帶來的使用問題,開發(fā)者需要了解所有這些組件以應對這些問題。這些加重了開發(fā)者的使用負擔。
穩(wěn)定性難以保障
開源組件本身都必須經過細致的調參并加上合適的硬件資源配置,才能良好運行,并且需要修復不少BUG,出現(xiàn)問題沒有兜底。
缺乏適應云的性能優(yōu)化
云上的OSS、PolarDB等組件都是云原生的組件,開源組件對這部分的改造適應不足,沒有充分挖掘出更高的性能。
DLA從數(shù)據(jù)湖管理(幫助客戶高效管理構建數(shù)據(jù)湖),Serverless Spark(提供高性價比的大規(guī)模計算),Serverless SQL(提供高性價比的在線交互式分析)三個方面幫助客戶挖掘數(shù)據(jù)價值。整體架構如下所示。接下來,本文將從這三個方面,分別講述相關技術挑戰(zhàn)以及解決方案。
?? 
二 如何管理與構建數(shù)據(jù)湖?
數(shù)據(jù)湖中數(shù)據(jù)難以管理主要體現(xiàn)在兩個方面:
已經在數(shù)據(jù)湖存儲OSS上面的數(shù)據(jù)如何高效的構建元數(shù)據(jù)。
非OSS數(shù)據(jù)如何高效的入湖建倉。
數(shù)據(jù)湖管理相關的主要功能包括元數(shù)據(jù)管理、元數(shù)據(jù)發(fā)現(xiàn)、數(shù)據(jù)庫入湖建倉、實時數(shù)據(jù)入湖。接下來重點介紹“海量文件元數(shù)據(jù)自動構建技術”和“入湖建倉數(shù)據(jù)管理技術”兩個關鍵技術。
1 海量文件元數(shù)據(jù)自動構建技術
當以OSS作為數(shù)據(jù)湖存儲,存儲的數(shù)據(jù)文件具有以下幾個特性:
- 格式豐富:包括CSV、Text、JSON、Parquet、Orc、Avro、hudi、Delta Lake等格式,其中CSV、Text又包含多種自定義的分隔符等。
 - 文件數(shù)在百萬級別:OSS的擴展性及性價比較好,用戶存儲在OSS的文件會是百萬級別。
 - 文件動態(tài)上傳:存儲在OSS上面數(shù)據(jù)文件具有動態(tài)持續(xù)上傳的特性,新的文件如何快速增量修改元數(shù)據(jù)。
 
為了高效的為OSS上面的海量數(shù)據(jù)構建元數(shù)據(jù),阿里云DLA提出并實現(xiàn)了“海量文件元數(shù)據(jù)自動構建技術”。具體技術如下圖所示,核心解決了:萬表萬分區(qū)識別、增量感知更新元數(shù)據(jù)兩個問題。
?? 
萬表萬分區(qū)識別
用戶OSS上面的文件數(shù)量會到百萬級別,這些文件不僅格式不同,比如JSON、CSV、Text等,而且同一種格式由于業(yè)務屬性不同具體的Schema字段也不一樣。該技術通過文件Schema識別器搭配文件分類器支持自動生成萬表萬分區(qū)。其中文件Schema識別器比如針對JSON單文件識別到0.15s、CSV單文件識別0.2s,搭配可插拔的智能采樣策略及分布式策略,百萬文件的Schema識別可以到分鐘級別。文件分類器通過樹的結構進行聚合、剪枝、壓縮,百萬級別文件的分類識別需要290ms左右。
增量感知更新
戶會往OSS上面持續(xù)不斷的上傳文件,元數(shù)據(jù)自動構建既要把屬于已經創(chuàng)建表的文件Schema變化更新到已有的表,同時對獨立新增的文件創(chuàng)建新的表。這里一方面“文件Schema識別器”通過獲取OSS上面文件的增加、刪除變化對變化的文件進行識別,同時“文件分類器”對新增的文件Schema和已經創(chuàng)建的表進行對別生成變化策略,目前支持增加分區(qū)、增加字段、字段不更改、不感知文件刪除4種策略,后續(xù)可以持續(xù)添加新的策略。
2 入湖建倉數(shù)據(jù)組織技術
把DataBase及消息日志服務的數(shù)據(jù)統(tǒng)一存儲到數(shù)據(jù)湖存儲OSS進行管理,能夠滿足計算加速、構建數(shù)倉歸檔、冷熱分離等業(yè)務需求。DLA的入湖建倉數(shù)據(jù)組織技術包括三種數(shù)據(jù)組織管理模式:鏡像模式、分區(qū)模式、增量模式,三種模式能夠搭配友好支持這些業(yè)務場景。
?? 
鏡像模式
每次全量同步源庫一個Database下面所有表的數(shù)據(jù)到數(shù)據(jù)湖存儲OSS之上,同步期間可以做到源庫負載增加控制在10%以內。這里主要使用了全局統(tǒng)一數(shù)據(jù)分片調度算法。保持數(shù)據(jù)湖的數(shù)據(jù)和源庫一致。
分區(qū)模式
面對歸檔場景支持按天全量及增量同步源庫數(shù)據(jù)到數(shù)據(jù)湖,并以時間分區(qū)的方式進行組織,方便歸檔管理。這種模式能夠做到小時級別的時間延遲。
增量模式
這種模式通過行列混存技術、commitlog及index管理技術,可以做到T+10min的數(shù)據(jù)入湖。其中通過delta的增量文件及異步compaction技術解決了小文件問題;通過delta增量文件及索引技術可以支持Database場景更新、刪除日志的增量實時寫入;通過commitlog的方式記錄分區(qū)文件的映射,解決百萬分區(qū)在傳統(tǒng)Catalog管理模式性能慢的問題。
三 云原生數(shù)據(jù)湖平臺需打通云基礎設施
DLA整體是一個多租戶的架構,分Region部署,每個Region的用戶共享一套控制邏輯。虛擬集群VC是邏輯的隔離單元。平臺支持 Serverless Spark、Serverless SQL等引擎,打造云原生服務。
?? 
如上圖所示,平臺主要面臨的挑戰(zhàn)有:資源高效供給、安全防護、訪問數(shù)據(jù)源的帶寬保障。
1 資源高效供給
云原生平臺基于阿里云的底座ECS&ACK&ECI,與阿里云IAAS資源大池打通,本Region跨可用區(qū)資源調度,保障資源的供給。支持1分鐘彈300個節(jié)點,單客戶在大Region 5w計算節(jié)點資源的保障。
2 安全防護
用戶可以寫任意的代碼平臺內運行,可能是故意惡性的攻擊行為,如果沒有任何保護,則平臺面臨安全危險。在安全方面,我們通過如下技術保障安全性:
- 一次密鑰:每個Job任務都會去TokenServer申請臨時的Token,Job失效Token會過期,如果存在攻擊行為,則平臺會直接讓Token過期,則訪問Meta等服務會被拒絕。
 - 預防DDOS&注入攻擊:所有的訪問平臺服務的請求,都會對接到安全防護中心,安全防護中心檢測有任何攻擊或者注入行為,直接關閉網絡端口。
 - 計算容器隔離:計算節(jié)點間采用阿里云自研的安全容器,容器本身可以實現(xiàn)VM相同的安全隔離級別。
 - 安全白名單:用戶互相之間的網絡是完全隔離的。
 - ENI虛擬網卡:打通VPC需要配置自己賬號下的安全組和虛擬交換機(VSwitch),配置之后結算節(jié)點容器會分配用戶VPC對應VSwitch網段的的IP,并掛載用戶的安全組。
 
3 高吞吐網絡帶寬
訪問OSS服務是通過高吞吐的帶寬服務。
使用ENI技術訪問自持VPC,跟在自持VPC內ECS上部署計算引擎訪問自持VPC內數(shù)據(jù)一樣,帶寬同樣是VPC內網帶寬。
四 Serverless Spark服務的技術挑戰(zhàn)
Apache Spark是目前社區(qū)最為流行的開源引擎,不但具備流、SQL、機器學習以及圖等計算能力,也可以連接豐富的數(shù)據(jù)源。但是,面對數(shù)據(jù)湖場景,傳統(tǒng)集群版Spark方案,除了面臨前面提到的數(shù)據(jù)管理困難、運維成本、計算資源彈性能力不足、企業(yè)級能力弱等問題外,還面臨訪問OSS的性能不佳、復雜作業(yè)難以調試等問題。
借助于第二章節(jié)提到的數(shù)據(jù)湖管理機制,可以很好地解決數(shù)據(jù)管理難題。借助于第三章節(jié)提到的多租戶安全平臺,DLA Spark實現(xiàn)了全新的云原生Serverless產品形態(tài),很好地解決了彈性問題、運維成本問題以及企業(yè)級需求問題。本章節(jié)對Spark訪問OSS的性能優(yōu)化以多租戶UI服務做進一步展開。
1 Spark訪問OSS優(yōu)化
社區(qū)版本的問題
開源版Spark訪問OSS數(shù)據(jù)默認采用Hadoop FileFormat接口直接對接OSSFileSystem實現(xiàn)。該方法在實踐中發(fā)現(xiàn)存在性能差,一致性難以保證等問題。
(1)Spark訪問OSS性能差
核心原因在于OSS KV模型跟HDFS文件樹模型的差異。FileFormat算法最初設計是基于HDFS文件系統(tǒng),然而對象存儲如OSS,為了解決擴展性,本質上采用的是KV模型。KV模型相對于HDFS文件系統(tǒng)差異較大,比如RenameDirectory接口,在HDFS中只是指針操作,但在KV中,需要將所有子文件和目錄的KV執(zhí)行Rename,性能開銷很大,并且保證不了原子性。Hadoop FileOutputFormat在寫入數(shù)據(jù)的時候先寫到臨時目錄,最后寫入最終目錄,臨時目錄到最終目錄的過程中需要做文件樹合并,合并過程中有大量Rename操作。
(2)一致性難保證
FileFormat v1算法中,合并文件樹操作全部在AppMaster單點執(zhí)行,效率非常低,尤其是動態(tài)分區(qū)場景。為了解決AppMaster單點,社區(qū)提供了算法2,其核心思路是將合并過程并行到Task中執(zhí)行,在性能上會有一定的提高,但是,如果Job執(zhí)行失敗,部分成功的Task會將數(shù)據(jù)寫入最終數(shù)據(jù)目錄,導致臟數(shù)據(jù)問題。
Spark OSS訪問優(yōu)化
?? 
(1)基于MultipartUpload的FileOutputFormat實現(xiàn)
針對Spark訪問OSS的特點,我們全新實現(xiàn)了Hadoop FileOutputFormat接口,如上圖所示。算法的改進重點在優(yōu)化合并操作,合并的核心是解決文件何時可見的問題。OSS提供MultipartUpload接口,也就是斷點續(xù)傳功能,文件可以分片上傳,上傳沒有結束,分片文件是不可見的。借助該特性,我們可以讓Task直接將數(shù)據(jù)寫入到最終目錄,只有作業(yè)成功才讓文件最終可見,該方法不用先寫入臨時目錄,也就大大減少了元數(shù)據(jù)的操作。對于執(zhí)行失敗的Task寫入的臨時分片,我們在作業(yè)結束時,執(zhí)行Abort操作,就可以將其刪除,這也就降低了空間占用。
針對Spark典型ETL Benchmark Terasort,在1TB輸入數(shù)據(jù)量的情況下,DLA FileOutputFormat執(zhí)行時間縮短62%,性能提升163%。而針對動態(tài)分區(qū)場景,社區(qū)算法1運行失敗,算法2可以執(zhí)行成功,DLA FileOutputFormat算法相比算法2性能還要進一步提升124%。
(2)OSS元數(shù)據(jù)Cache
Spark讀取OSS的過程中,在ResolveRelation階段,Spark會遍歷OSS的目錄,解析表結構和分區(qū)結構,以及解析Schema,該過程中同樣會有大量元數(shù)據(jù)操作,并且同一個OSS 對象的元數(shù)據(jù)會被訪問多次。針對該問題,我們實現(xiàn)了對OSS元數(shù)據(jù)的緩存,第一次訪問到的OSS對象元數(shù)據(jù)就會被緩存到本地,后續(xù)如果訪問該對象直接讀取本地緩存。這種方式可以最大限度降低對OSS元數(shù)據(jù)的訪問。Cache機制可以讓ResolveRelation有1倍左右的性能提升,針對典型的Spark查詢場景,該機制整體可以提升60%的性能。
2 多租戶UI服務
UI服務對于開發(fā)者來說至關重要,開發(fā)人員依賴UI服務進行作業(yè)調試,以及生產作業(yè)的問題排查。好的UI服務可以很好地加速研發(fā)效率。
HistoryServer的痛點
Spark社區(qū)提供HistoryServer提供對Spark歷史作業(yè)的UI和日志服務,在實際應用中遇到諸多痛點,典型如下:
(1)Eventlog空間開銷大
HistoryServer依賴Spark引擎將運行中的Event信息全部記錄到FileSystem中,然后后臺回放并繪出UI頁面。對于復雜作業(yè)和長作業(yè)Eventlog量較大,可以達到百GB甚至TB級別。
(2)復雜作業(yè)和長作業(yè)不支持
復雜作業(yè)或者長作業(yè)的Eventlog很大,HistoryServer會解析失敗,甚至OOM。再加上空間開銷大的原因,用戶一般都只能關閉Eventlog。
(3)Replay效率差,延遲高
HistoryServer采用后臺Replay Eventlog的方式還原Spark UI,相當于把Spark引擎的事件全部重放一遍,開銷大,會有延遲。特別是作業(yè)較多或者較復雜的情況下,延遲可達分鐘甚至十分鐘級別。
DLA多租戶SparkUI
?? 
SparkUI服務是DLA平臺自研的多租戶UI服務,針對社區(qū)方案做了深度優(yōu)化:
(1)去Eventlog
DLA Spark去掉了Eventlog依賴,在作業(yè)結束的時候,Spark Driver只是dump UI的Meta到OSS,保存作業(yè)結束前的頁面元信息。這部分信息只是相對于Eventlog來說,會大大減少,即使非常復雜的作業(yè)也只有MB級別。UiServer讀取OSS上的UI Meta,將其反序列化出來即可展示SparkUI頁面。
(2)UIServer水平擴展
UIServer主要負責解析歷史UI Meta和提供Stderr和Stdout日志服務,是輕量化,無狀態(tài)的,可以實現(xiàn)水平擴展,進而支持萬級別客戶同時在線服務。UIServer URL采用加密token作為參數(shù),token代表的用戶身份,作業(yè)id,UIServer據(jù)此實現(xiàn)多租戶服務化。
(3)本地日志自動滾動
對于長作業(yè)而言,Stderr或者Stdout信息會隨著時間增加累積,最終甚至可能打爆磁盤。DLA Spark安全容器內置后臺進程,實現(xiàn)日志滾動,保存最有價值的最近一段時間的日志。
五 Serverless SQL服務的技術挑戰(zhàn)
DLA Serverless SQL是基于目前托管于Linux基金會之下的PrestoDB打造的云原生數(shù)據(jù)湖引擎,Alibaba同時也是Presto基金會成員之一,一直在貢獻優(yōu)化Presto。PrestoDB引擎本身具有優(yōu)秀的特性:
- 全內存計算帶來的極致速度。
 - 支持完整SQL語義帶來的強大表達力。
 - 易用的插件機制使得我們可以對任何數(shù)據(jù)源進行關聯(lián)查詢。
 - 強大的社區(qū)使得我們使用之后沒有后顧之憂。
 
不過社區(qū)PrestoDB是單租戶的一個引擎,它假定你是在一個公司內部使用,因此算力隔離、高可用等等方面沒有過多投入,這使得要直接使用它來作為云原生服務的引擎存在幾個問題:
- 一個用戶如果提交大量大查詢將可能占用集群所有資源,導致其它用戶無法使用。
 - 單Coordinator使得整個服務的可用性無法得到保證。
 
我們做了一系列的優(yōu)化、改造使得它可以云原生的形態(tài)服務所有的用戶,今天著重介紹多租戶隔離技術以及多Coordinator兩個主要的特性。
首先我們看一下DLA Serverless SQL的整體架構:
?? 
我們在核心的PrestoDB集群周邊建設了諸如接入層、統(tǒng)一元數(shù)據(jù)等等服務來使得用戶可以用得穩(wěn)定、用得便利,下面我們將在多租戶隔離技術和多Coordinator技術的介紹中詳細剖析。
1 多租戶隔離技術
PrestoDB原生是有資源組的支持,它可以支持在不同資源組間做一定程度的CPU、內存的限制,但是它有一些問題使得我們無法基于它來實現(xiàn)計算力的隔離:
- 全局調度層面:即使一個租戶使用了過多的計算力資源也不會及時被懲罰,只有新查詢會被Block。
 - Worker調度層面:所有租戶的Split是在同一個隊列里面進行調度,一個租戶如果有過多Split會影響其它租戶。
 
我們的計算力多租戶方案如下:
?? 
我們在集群中引入了一個ResourceManager的模塊用于從所有的Coordinator收集所有租戶的資源使用信息,ResourceManager把收集到的資源使用信息跟我們預設的計算力的閾值進行對比,計算出哪些租戶應該被懲罰,然后把這個懲罰信息通知到所有的Worker。Worker在進行調度的時候會參照ResourceManager通知過來的懲罰信息決定哪些租戶的查詢得到調度,哪些租戶的查詢不進行調度。這樣不同的租戶之間算力就會得到隔離,我們測試了如果有一個租戶過量使用資源,它會在最長1.3秒之內得到懲罰,從而釋放資源給其它租戶,而社區(qū)默認版本的“懲罰”要等到租戶所有的查詢執(zhí)行完成才會到來。只有元數(shù)據(jù)和計算力得到隔離,我們才能放心用一個集群來服務我們所有的用戶。
2 Multi-Coordinator技術
社區(qū)版本的Presto里面,Coordinator是一個單點,它會帶來兩個方面的問題:
- 可用性隱患: 一旦Coordinator宕機、整個集群將不可用達5到10分鐘。
 - 無法實現(xiàn)無縫升級,升級過程中影響所有用戶的查詢使用。
 
我們采取了如下的架構方案:
?? 
首先我們在Presto的Coordinator之上放置了一個新的FrontNode模塊,讓用戶連接到這個模塊,而不是直接連接到我們底層的Coordinator,這樣我們底層到底有多少個Coordinator,現(xiàn)在哪個Coordinator在給用戶提供服務都對用戶完全透明,這樣架構上就比較靈活,從而方便我們在底層對Coordinator進行擴展。
FrontNode在接收到用戶的查詢之后會把請求按照Round Robin的方式發(fā)送給底層的多個Coordinator,這樣多個Coordinator就可以分擔壓力,但是整個集群還是有一些全局的事情要有單個Coordinator來做,比如Presto的Worker狀態(tài)監(jiān)控、OOM Killer等等,因此我們引入了一個Zookeeper來做Coordinator選主的事情,選主之后主Coordinator的職責會跟社區(qū)的Presto類似:做全局的Worker狀態(tài)監(jiān)控、OOM Killer以及執(zhí)行分配給它的查詢;從Coordinator的職責則比較輕量級: 只負責執(zhí)行分配給它的查詢。
如果其中一個Coordinator因為任何問題宕機,Zookeeper會在秒級發(fā)現(xiàn)這個問題并重新選主,用戶受到影響的查詢只要重試即可。而且我們正在做的一個嘗試是做查詢的自動重試,對于確定是系統(tǒng)原因造成的失敗我們做自動重試,這樣一個Coordinator對用戶的影響將會很小。
而有了多Coordinator的架構,我們要實現(xiàn)無縫升級就非常簡單了,我們在升級的時候只要主動把某個Coordinator/Worker從集群中摘除,進行升級,升級完成再加入集群,客戶可以毫不感知,因為在升級過程中始終有一個正常工作的集群在給用戶提供服務, 比如我們在升級從Coordinator的時候,整個集群情況如下:
?? 
通過諸如多租戶隔離技術、多Coordinator架構等等優(yōu)化,我們基于PrestoDB打造了可以服務所有的用戶的阿里云云原生數(shù)據(jù)湖Serverless SQL引擎。
六 云原生數(shù)據(jù)湖端到端最佳實踐
?? 
如上圖方案所示,DLA提供了端到端的方案,面對OSS數(shù)據(jù)開放性帶來的管理及入湖困難,DLA數(shù)據(jù)湖管理,幫助您一站式構建安全數(shù)據(jù)湖。
- 提供統(tǒng)一開放的Meta服務對OSS數(shù)據(jù)進行管理,支持庫表權限。
 - 利用元數(shù)據(jù)爬取功能,可以一鍵創(chuàng)建OSS上的元數(shù)據(jù)信息,輕松自動識別CSV/JSON/Parquet等格式,建立好庫表信息,方便后續(xù)計算引擎使用。
 - 一鍵將RDS/PolarDB/MongoDB等數(shù)據(jù)庫的數(shù)據(jù)同步到OSS存儲當中,搭建冷熱數(shù)據(jù)分層的業(yè)務架構,對多源海量數(shù)據(jù)進行數(shù)據(jù)洞察分析。
 - 支持流式構建Hudi格式,滿足T+10分鐘的延遲要求,極大提升分析的端到端的延遲。
 - Serverless化SQL分析,幫助您即開即用數(shù)據(jù)湖。用戶無需購買任何資源,即可運行標準的SQL語法查詢數(shù)據(jù)。
 - 支持對數(shù)據(jù)湖存儲OSS Cache加速,提升10倍的性能。
 - 支持RDS、PolarDB、ADB、MongoDB數(shù)據(jù)十種數(shù)據(jù)源的分析。
 - 對比傳統(tǒng)的Presto、Impala方案提升10x的性價比提升。
 - Serverless化Spark計算,幫助您自主玩轉數(shù)據(jù)湖。用戶無需購買任何資源,即可使用云原生的Spark服務,支持OSS 數(shù)PB的數(shù)據(jù)清洗、機器學習、用戶可編程,玩轉數(shù)據(jù)湖。
 - 每分鐘可彈出500個節(jié)點參與計算。
 - 對比傳統(tǒng)的自建Spark方案提升3x的性價比提升。
 
由于DLA涉及較多的技術點,本文講述了部分技術細節(jié),更多歡迎關注云原生數(shù)據(jù)湖分析DLA:https://www.aliyun.com/product/datalakeanalytics
【本文為51CTO專欄作者“阿里巴巴官方技術”原創(chuàng)稿件,轉載請聯(lián)系原作者】















 
 
 







 
 
 
 