精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

阿里云ADB基于Hudi構(gòu)建Lakehouse的實(shí)踐

大數(shù)據(jù) 數(shù)據(jù)湖
今天非常高興能夠借這個(gè)機(jī)會(huì)和大家分享下阿里云 ADB 基于 Apache Hudi 構(gòu)建 Lakehouse 的應(yīng)用與實(shí)踐。

導(dǎo)讀:大家好,我是來自阿里云數(shù)據(jù)庫的李少鋒,現(xiàn)在主要專注于 ADB Hudi & Spark 的研發(fā)以及產(chǎn)品化,今天非常高興能夠借這個(gè)機(jī)會(huì)和大家分享下阿里云 ADB 基于 Apache Hudi 構(gòu)建 Lakehouse 的應(yīng)用與實(shí)踐。

接下來我將分為 3 個(gè)部分給大家介紹今天的議題,首先我會(huì)介紹經(jīng)過將近一年打磨推出的ADB 湖倉版的架構(gòu)以及關(guān)鍵優(yōu)勢(shì),接著會(huì)介紹在支持客戶構(gòu)建 Lakehouse 時(shí),我們是如何克服基于 Hudi 構(gòu)建千億數(shù)據(jù)入湖的挑戰(zhàn);最后將介紹基于 ADB 構(gòu)建 Lakehouse 的實(shí)踐。

1、ADB 湖倉版機(jī)構(gòu)與關(guān)鍵優(yōu)勢(shì)

首先先來介紹下 ADB 湖倉版架構(gòu)及其關(guān)鍵優(yōu)勢(shì)。

圖片

一體版本,我們稱為 ADB 湖倉版。湖倉版在數(shù)據(jù)全鏈路的「采存算管用」5 大方面都進(jìn)行了全面升級(jí)。

在「采集」方面,我們推出了數(shù)據(jù)管道 APS 功能,可以一鍵低成本接入數(shù)據(jù)庫、日志、大數(shù)據(jù)中的數(shù)據(jù)。

在「存儲(chǔ)」方面,我們除了新增 Hudi 格式的外表能力,也對(duì)內(nèi)部存儲(chǔ)進(jìn)行了升級(jí)改造。通過只存一份數(shù)據(jù),同時(shí)滿足離線、在線 2 類場(chǎng)景。

在「計(jì)算」方面,我們對(duì)自研的 XIHE BSP SQL 引擎進(jìn)行容錯(cuò)性、運(yùn)維能力等方面的提升,同時(shí)引入開源 Spark 引擎滿足更復(fù)雜的離線處理場(chǎng)景和機(jī)器學(xué)習(xí)場(chǎng)景。

在「管理」方面,我們推出了統(tǒng)一的元數(shù)據(jù)管理服務(wù),統(tǒng)一湖倉元數(shù)據(jù)及權(quán)限,讓湖倉數(shù)據(jù)的流通更順暢。

在「應(yīng)用」方面,除了通過SQL方式的BI分析應(yīng)用外,還支持基于 Spark 的 AI 應(yīng)用。

我們希望通過資源一體化和體驗(yàn)一體化,2 個(gè)一體化能力,幫助客戶實(shí)現(xiàn)降本增效。資源一體化是指一份數(shù)據(jù)、極致彈性和融合引擎。體驗(yàn)一體化是指統(tǒng)一的計(jì)費(fèi)單位、數(shù)據(jù)管道、數(shù)據(jù)管理和數(shù)據(jù)訪問。

圖片

在 ADB 湖倉版中,首先將一份全量數(shù)據(jù)存在低成本高吞吐存儲(chǔ)介質(zhì)上,低成本離線處理場(chǎng)景直接讀寫低成本存儲(chǔ)介質(zhì),降低數(shù)據(jù)存儲(chǔ)和數(shù)據(jù) IO 成本,保證高吞吐。其次將實(shí)時(shí)數(shù)據(jù)存在單獨(dú)的存儲(chǔ) IO 節(jié)點(diǎn)(EIU)上,保證「行級(jí)」的數(shù)據(jù)實(shí)時(shí)性,同時(shí)對(duì)全量數(shù)據(jù)構(gòu)建索引,并通過 Cache 能力對(duì)數(shù)據(jù)進(jìn)行加速,滿足百 ms 級(jí)高性能在線分析場(chǎng)景。因此,數(shù)據(jù)湖中的數(shù)據(jù)可以在數(shù)倉中加速訪問;而數(shù)倉中的數(shù)據(jù),也可以利用離線資源進(jìn)行計(jì)算。

圖片

極致彈性通過彈得好、彈得起、彈得快三個(gè)特點(diǎn),貼合業(yè)務(wù)負(fù)載,保證查詢性能,降低資源成本。

彈得好是指提供了適合在線分析業(yè)務(wù)的分時(shí)彈性和適合離線處理、機(jī)器學(xué)習(xí)的按需彈性,完美貼合業(yè)務(wù)負(fù)載,滿足業(yè)務(wù)需求。

彈得起是指基于神龍 + ECS + ECI構(gòu)建了三級(jí)資源庫存供給能力,保障彈性資源交付率超過 95%。

彈得快是指資源池化后通過緩存加速等技術(shù),彈性啟動(dòng)效率可以達(dá)到 10s 內(nèi)。

圖片

支撐離線、在線兩類場(chǎng)景的背后,除了剛才提到的一份數(shù)據(jù)。還有自研的XIHE融合計(jì)算引擎,同時(shí)提供 MPP 模式和 BSP 模式,并提供自動(dòng)切換能力。

自動(dòng)切換能力是指當(dāng)查詢使用 MPP 模式無法在一定耗時(shí)內(nèi)完成時(shí),系統(tǒng)會(huì)自動(dòng)切換為 BSP模式進(jìn)行執(zhí)行。未來,我們還將在一個(gè)查詢中,根據(jù)算子特點(diǎn)部分算子采用 MPP 模式,部分算子采用 BSP 模式,兼顧高性能和高吞吐,提供更智能的查詢體驗(yàn)。

同時(shí)融合引擎為提供資源利用率提供了可能,通常離線處理發(fā)生在晚上,在線分析發(fā)生在白天,一份資源可以同時(shí)支持 2 類場(chǎng)景,通過錯(cuò)峰提升資源利用率。

圖片

最后再介紹一下統(tǒng)一數(shù)據(jù)管道APS。數(shù)據(jù)快速接入,是數(shù)據(jù)分析的第一步,也是最容易流失客戶的一步。但我們發(fā)現(xiàn)數(shù)據(jù)接入面臨體驗(yàn)差、成本高、門檻高等痛點(diǎn)。

所以,我們決定跟其它接入工具做好深度優(yōu)化的同時(shí),面向中小客戶,構(gòu)建一個(gè)統(tǒng)一數(shù)據(jù)管道 APS,底層基于 Flink 實(shí)時(shí)引擎,提供易用性好、低延時(shí)、低成本的數(shù)據(jù)接入體驗(yàn)。

圖片

對(duì)于湖倉中的表元數(shù)據(jù),ADB 做了統(tǒng)一元數(shù)據(jù)服務(wù),湖倉中的元數(shù)據(jù)/權(quán)限可互通,可通過不同引擎自由訪問湖倉數(shù)據(jù);而對(duì)于湖倉數(shù)據(jù),為了屏蔽底層數(shù)據(jù)存儲(chǔ)格式的差異,便于第三方引擎集成,ADB 提供了面向內(nèi)存列存格式 Arrow,滿足對(duì)吞吐的要求,對(duì)于內(nèi)部存儲(chǔ),已經(jīng)通過 Arrow 格式完成 Spark 對(duì)接,提供高吞吐能力。

圖片

自研是打造技術(shù)深度的基礎(chǔ),但同時(shí)我們積極擁抱開源,滿足已經(jīng)生長(zhǎng)在開源生態(tài)上的客戶可以更平滑地使用湖倉版。外表類型,在 Parquet/ORC/JSON/CSV 等 Append 類型數(shù)據(jù)格式的基礎(chǔ)上,為支持在對(duì)象存儲(chǔ)上低成本 Lakehouse,支持了Apache Hudi,提供近實(shí)時(shí)的更新、刪除能力,滿足客戶對(duì)低成本的訴求。

2、基于 Hudi 構(gòu)建千億數(shù)據(jù)入湖的挑戰(zhàn)

以上就是 ADB 湖倉版的架構(gòu)與關(guān)鍵優(yōu)勢(shì),接著介紹基于 Hudi 構(gòu)建千億數(shù)據(jù)入湖的挑戰(zhàn)以及如何我們是如何克服這些挑戰(zhàn)的。

圖片

首先我們看下典型的業(yè)務(wù)場(chǎng)景,業(yè)務(wù)源端數(shù)據(jù)通過數(shù)據(jù)采集進(jìn)入阿里云 SLS,然后通過 APS數(shù)據(jù)管道服務(wù)進(jìn)入ADB 湖倉版,基于 ADB 湖倉版之上構(gòu)建日志查詢、日志導(dǎo)出、日志分析等功能。

該業(yè)務(wù)場(chǎng)景有如下典型的特點(diǎn):

1.高吞吐,單鏈路最高 4GB/s 吞吐,日增數(shù)據(jù)量 350TB,總存儲(chǔ)量超 20PB。

2.數(shù)據(jù)傾斜/熱點(diǎn)嚴(yán)重:源端數(shù)據(jù)傾斜非常嚴(yán)重,從百萬到幾十條數(shù)據(jù)不等。

3.掃描量大:日志查詢的掃描量 50GB ~ 500GB 不等,查詢并發(fā)在 100+。

如果使用數(shù)倉的話會(huì)面臨成本高的問題,另外是數(shù)倉缺少熱點(diǎn)打散能力,只能不斷加資源,瓶頸明顯;最后是數(shù)倉系統(tǒng)資源是固化的,沒有動(dòng)態(tài)彈性能力,或者彈性能力較弱,承載不同客戶查詢需求時(shí),容易互相干擾,尤其是大客戶的數(shù)據(jù)掃描。

圖片

先來看下日志數(shù)據(jù)入湖的技術(shù)架構(gòu),數(shù)據(jù)從 SLS 讀取,然后通過 Flink 寫入 Hudi,整個(gè)架構(gòu)非常簡(jiǎn)單,其中對(duì)于 SLS 和 Flink 的狀態(tài)存儲(chǔ)說明如下:

1.SLS 多 Shard 存儲(chǔ),由 Flink 的多個(gè) Source 算子并行消費(fèi)。

2.消費(fèi)后通過 Sink 算子調(diào)用 Hudi Worker/Writer 寫出到 Hudi(實(shí)際鏈路還存在 Repartition,熱點(diǎn)打散等邏輯)。

3.Flink Checkpoint 后端存儲(chǔ)以及 Hudi 數(shù)據(jù)存儲(chǔ)在OSS。

圖片

接著來看下 Flink 寫入 Hudi 的主流程,首先明確 Flink 寫 Hudi 時(shí)會(huì)存在兩種角色,Coordinator 負(fù)責(zé)處理元數(shù)據(jù),如對(duì) Hudi Instant 的相關(guān)操作,Worker/Writer 負(fù)責(zé)處理數(shù)據(jù),如寫入數(shù)據(jù)為 parquet 格式,寫入步驟如下:

1.Coordinator 開啟一個(gè) Hudi Instant。

2.Filnk Sink 發(fā)送數(shù)據(jù)給 Hudi Worker 寫出。

3.觸發(fā) Flink Checkpoint 時(shí),則通過 Sink 算子通知 Worker Flush 數(shù)據(jù),同時(shí)持久化operator-state。

4.當(dāng) Flink 完成 Checkpoint 持久化時(shí),通知  Coordinator 提交該 Instant,Coordinator 完成最終提交,寫 commit 文件,數(shù)據(jù)對(duì)外可見。

5.提交后會(huì)立即開啟一個(gè)新的 Instant,繼續(xù)上述循環(huán)。

圖片

如果把 Flink 寫 Hudi 保證端到端一致性分成兩部分,一部分是 Flink 框架內(nèi)部的,另外一個(gè)部分是與 Hudi 交互的部分。

1.其中步驟 1 到 3 之間是 Flink Checkpoint 邏輯,如果異常在這些步驟上發(fā)生,則認(rèn)為 Checkpoint失敗,觸發(fā) Job 重啟,從上一次 Checkpoint 恢復(fù),相當(dāng)于兩階段提交的 Precommit 階段失敗,事務(wù)回滾,如果有 Hudi 的 inflight commit,等待 Hudi Rollback 即可,無數(shù)據(jù)不一致問題。

2.當(dāng) 3 到 4 之間發(fā)生異常,則出現(xiàn) Flink 和 Hudi 狀態(tài)不一致。此時(shí) Flink 認(rèn)為 Checkpoint 已結(jié)束,而 Hudi 實(shí)際尚未提交。如果對(duì)此情況不做處理,則發(fā)生了數(shù)據(jù)丟失,因?yàn)镕link Checkpoint 完畢后,SLS 位點(diǎn)已經(jīng)前移,而這部分?jǐn)?shù)據(jù)在 Hudi 上并未完成提交,因此容錯(cuò)的重點(diǎn)是如何處理此階段引起的數(shù)據(jù)一致性問題。

3.我們拿一個(gè)例子舉例分析在步驟 3 和 4 之前發(fā)生異常時(shí),如果保證數(shù)據(jù)一致性。

4.否則認(rèn)為上一次 Instant 執(zhí)行失敗,等待 Rollback 即可,臟數(shù)據(jù)對(duì)用戶不可見。

圖片

我們舉例分析下在步驟 3 和 4 之間發(fā)生異常時(shí),是如何保證數(shù)據(jù)一致性的,可以看到對(duì)于1615 的 commit 在 Flink 完成 Checkpoint 時(shí)會(huì)將其 instant 信息持久化至 Flink 后端存儲(chǔ)。

從 checkpoint 恢復(fù)時(shí)有如下步驟:

1.Checkpoint 時(shí) Sink 算子 Flush 數(shù)據(jù)及持久化 Instant 的 state。

2.Worker 請(qǐng)求處于 pending 的 Instant,與從 state 恢復(fù)的 Instant 做對(duì)比并匯報(bào)給 Coordinator。

3.Coordinator 從 Instant Timeline 中獲取最新的 Instant 信息,并接收所有 Worker 的匯報(bào)。

4.如果 Worker 匯報(bào) Instant 相同,并且不在 Timeline 中已完成的 Instant 中,則表示該 Instant 尚未提交,觸發(fā) Recommit。

經(jīng)過上述步驟可以保證在 Flink 完成 Checkpoint 時(shí),但對(duì)于 Hudi Commit 失敗時(shí)的場(chǎng)景會(huì)進(jìn)行 recommit,從而保證數(shù)據(jù)的一致性。

圖片

?接著介紹我們?cè)谔幚?4GB/s 的高吞吐時(shí)面臨的挑戰(zhàn),一個(gè)非常大的挑戰(zhàn)就是熱點(diǎn)數(shù)據(jù)處理,我們統(tǒng)計(jì)了 5 分鐘內(nèi)各 Task 處理數(shù)據(jù)的大小,發(fā)現(xiàn)各 Task 處理數(shù)據(jù)從 200W 條到幾十條不等,熱點(diǎn)問題明顯。

而在寫入鏈路中會(huì)根據(jù)分區(qū)字段做 shuffle,同一個(gè)分區(qū)由一個(gè) Task 寫入,對(duì)于上述存在的熱點(diǎn)問題會(huì)導(dǎo)致部分TM上的分區(qū)寫入非常慢,導(dǎo)致數(shù)據(jù)延遲/作業(yè)掛掉。

面對(duì)寫入熱點(diǎn)問題,我們開發(fā)了熱點(diǎn)打散功能,通過配置指定規(guī)則打散熱點(diǎn)數(shù)據(jù),同時(shí)可以根據(jù)數(shù)據(jù)流量自動(dòng)更新熱點(diǎn)打散規(guī)則,確保系統(tǒng)的健壯性,可以看到經(jīng)過熱點(diǎn)打散后個(gè) TM 處理的數(shù)據(jù)量/CPU占用/內(nèi)存占用基本相同并且比較平穩(wěn),作業(yè)穩(wěn)定性也得到了提升。?

圖片

?另外一個(gè)挑戰(zhàn)是 OOM,其實(shí)和熱點(diǎn)打散也有很大關(guān)系,我們發(fā)現(xiàn)作業(yè)運(yùn)行時(shí)會(huì)出現(xiàn)OOM,導(dǎo)致作業(yè)掛掉,數(shù)據(jù)延遲上漲,因此我們對(duì)堆外/堆內(nèi)內(nèi)存的使用做了比較細(xì)致的梳理,使用內(nèi)存的部分主要集中在:

1.寫 Parquet 文件占用堆外內(nèi)存?。

2.OSS Flush 占用堆外內(nèi)存。

3.單 TM 的 Slot 數(shù)、寫并發(fā)都影響內(nèi)存占用,如每個(gè)寫并發(fā)處理 30-50 Handle,TM 16 并發(fā),8M row group size 最多占用 6400 M 內(nèi)存。

4.堆內(nèi)內(nèi)存負(fù)載過高導(dǎo)致頻繁Full GC。

我們針對(duì)上述分內(nèi)存使用做了優(yōu)化,如:

1.row group size 配置為 4M,減少堆外內(nèi)存占用,同時(shí)將堆外內(nèi)存調(diào)大。

2.close 時(shí)及時(shí)釋放 compressor 占用的內(nèi)存,這部分對(duì) parquet 源碼做了改造。

3.透出堆外內(nèi)存指標(biāo),增加堆外內(nèi)存監(jiān)控,這部分也是對(duì) parquet 源碼做了改造。

4.源端 source 算子與 Shard 分配更均衡,以此保證各 TM 消費(fèi)的 shard 數(shù)基本均等。

圖片

最后一個(gè)比較大的挑戰(zhàn)就是 OSS 限流,云對(duì)象存儲(chǔ)(如OSS)對(duì) List 操作不友好,list objects 對(duì) OSS 服務(wù)器壓力較大,如在我們場(chǎng)景下,1500 寫并發(fā),會(huì)產(chǎn)生 1W QPS list object,OSS 側(cè)目前限流 1K QPS,限流明顯,限流會(huì)導(dǎo)致作業(yè)處理變慢,延遲變高,為解決該問題,我們也梳理了寫入鏈路對(duì) OSS 的請(qǐng)求,在元數(shù)據(jù)鏈路對(duì) OSS 的請(qǐng)求如下:

1.Timeline 構(gòu)建需要 list .hoodie 目錄 。

2.Flink CkpMetaData 基于 OSS 傳遞給 Worker。

3.Hadoop-OSS SDK create/exists/mkdir 函數(shù)依賴 getStatus 接口,getStatus 接口現(xiàn)有實(shí)現(xiàn)導(dǎo)致大量 list 請(qǐng)求,其中 getStatus 接口對(duì)于不存在的文件,會(huì)額外進(jìn)行一次 list objects 請(qǐng)求確認(rèn) Path 是不是目錄,對(duì) Marker File、partitionMetadata、數(shù)據(jù)文件都會(huì)產(chǎn)生大量的 list objects 請(qǐng)求。

在數(shù)據(jù)鏈路對(duì) OSS 請(qǐng)求如下:先臨時(shí)寫到本地磁盤,再上傳至 OSS,導(dǎo)致本地磁盤寫滿。

針對(duì)上述對(duì) OSS 的請(qǐng)求,我們做了如下優(yōu)化,在元數(shù)據(jù)側(cè):

1.Timeline Based CkpMetaData,將TM請(qǐng)求打到 JM,避免大量 TM 掃描 OSS 文件。

2.Hadoop-OSS SDK,透出直接創(chuàng)建文件的接口,不進(jìn)行目錄檢查。

3.PartitionMetaData 緩存處理,在內(nèi)存中對(duì)每個(gè)分區(qū)的元數(shù)據(jù)文件做了緩存處理,盡量減少與 OSS 的交互。

4.Create Marker File 異步處理,異步化處理不阻塞對(duì) Handle 的創(chuàng)建,減少創(chuàng)建 Handle 的成本。

5.開啟 Timeline Based Marker File,這個(gè)是社區(qū)已經(jīng)有的能力,直接開啟即可。

這里額外補(bǔ)充下可能有小伙伴比較好奇為什么開啟 hudi metadata table 來解決云對(duì)象存儲(chǔ)的限流問題,我們內(nèi)部做過測(cè)試,發(fā)現(xiàn)開啟 metadata table 時(shí),寫入會(huì)越來越慢,無法滿足高吞吐的場(chǎng)景。

以上就是我們?cè)谔幚砣罩緮?shù)據(jù)入湖時(shí)面臨的典型挑戰(zhàn)以及我們?nèi)绾慰朔@些挑戰(zhàn),接著講講我們?cè)谔幚頂?shù)據(jù)入湖時(shí)為滿足業(yè)務(wù)要求做的關(guān)鍵特性開發(fā)。

圖片

首先是支持并發(fā)寫,業(yè)務(wù)側(cè)要求鏈路有補(bǔ)數(shù)據(jù)能力,補(bǔ)數(shù)據(jù)場(chǎng)景涉及多 Flink Client 寫不同分區(qū),實(shí)時(shí)寫鏈路,補(bǔ)數(shù)據(jù)鏈路,Table Service 鏈路并發(fā)操作表數(shù)據(jù)/元數(shù)據(jù),這要求:

1.表數(shù)據(jù)不錯(cuò)亂。

2.補(bǔ)數(shù)據(jù)/TableService 鏈路不影響實(shí)時(shí)寫鏈路。

因此我們對(duì) Hudi 內(nèi)核側(cè)做了部分修改來支持并發(fā)寫場(chǎng)景:

1.CkpMetadata 唯一標(biāo)識(shí),保證不同作業(yè)使用不同 ckp meta。

2.ViewStorage 唯一標(biāo)識(shí),保證不同作業(yè) Timeline Server 隔離。

3.Lazy Table Service,保證并行作業(yè)不互相 rollback commit,避免數(shù)據(jù)錯(cuò)亂。

4.Instant 生成重試策略,保證 Timeline Instant 的唯一性,避免數(shù)據(jù)錯(cuò)亂。

5.獨(dú)立 Table Service 處理,使用單獨(dú)的作業(yè)運(yùn)行 Table Service,與實(shí)時(shí)寫鏈路完全隔離。

圖片

另外一個(gè)關(guān)鍵特性是出于成本考慮,業(yè)務(wù)側(cè)要求 Hudi 中數(shù)據(jù)不能無限地保存,需要按照用戶設(shè)定的策略保留指定時(shí)間的數(shù)據(jù),這要求:

1.Hudi 提供分區(qū)級(jí)別按照數(shù)據(jù)量,分區(qū)數(shù)和過期時(shí)間等不同維度進(jìn)行生命周期管理的能力。

2.Hudi 支持并發(fā)設(shè)置生命周期管理策略,因?yàn)槊嫦蚨嘧鈶魰?huì)涉及并發(fā)更新管理策略。

針對(duì)業(yè)務(wù)對(duì)生命周期管理的需求,我們開發(fā) Hudi 的生命周期管理功能,具體實(shí)現(xiàn)如下:

1.對(duì)于生命周期管理使用,首先通過 call command 添加生命周期管理策略,并進(jìn)行持久化,為支持并發(fā)更新,我們參考 Hudi MOR 表中 Base 文件和 Log 文件的設(shè)計(jì),并發(fā)更新會(huì)寫入不同的 Log 文件。

2.對(duì)于生命周期管理的執(zhí)行,在每一次 commit 結(jié)束后進(jìn)行統(tǒng)計(jì)信息增量采集并更新至統(tǒng)計(jì)信息文件,然后按照分區(qū)策略進(jìn)行過期分區(qū)的處理,對(duì)于過期分區(qū)會(huì)生成一個(gè) replace commit,等待后續(xù)被 clean 即可,同時(shí)會(huì)合并前面的策略 Base 文件和 Log 文件,生成新的 Base 文件以及更新統(tǒng)計(jì)信息。

我們也提供了按照分區(qū)數(shù)、數(shù)據(jù)量、過期時(shí)間三種不同策略來管理 Hudi 表中的分區(qū)的生命周期,很好的滿足業(yè)務(wù)側(cè)的需求。

圖片

最后一個(gè)比較大的關(guān)鍵特性是獨(dú)立 TableService,業(yè)務(wù)側(cè)要求保證實(shí)時(shí)寫鏈路穩(wěn)定,同時(shí)希望提高入湖數(shù)據(jù)的查詢性能,這要求:

1.在不影響主鏈路同步性能情況下,清理 Commits/文件版本,保證表狀態(tài)大小可控。

2.為提高查詢性能,提供異步 Clustering 能力,合并小文件,減少掃描量,提高查詢性能。

基于上述訴求我們開發(fā)了基于 ADB 湖倉版的獨(dú)立 Table Service 服務(wù),在入湖鏈路寫入完成后會(huì)進(jìn)行一次調(diào)度,然后將請(qǐng)求寫入調(diào)度組件,供調(diào)度組件后續(xù)拉起彈性的 Flink/Spark TableService 作業(yè),可以做到對(duì)實(shí)時(shí)寫入鏈路無影響。

對(duì)于表狀態(tài)管理以及數(shù)據(jù)布局優(yōu)化均是采用的獨(dú)立 TableService 作業(yè)執(zhí)行,保證表的狀態(tài)大小可控,同時(shí)通過異步 Clustering 操作,端到端查詢性能提升 40% 以上。

圖片

在對(duì)日志入湖鏈路進(jìn)行了深入打磨后,我們可以保證最高 4GB/s 的數(shù)據(jù)寫入,延遲在 5min內(nèi),滿足業(yè)務(wù)需求。

同時(shí)也建設(shè)了指標(biāo)監(jiān)控大盤與異常鏈路告警功能,便于快速定位問題以及出現(xiàn)問題后快速響應(yīng)。

以上介紹便是我們是如何基于Hudi構(gòu)建千億數(shù)據(jù)入湖以及如何克服入湖挑戰(zhàn)的。

3、基于 ADB 構(gòu)建 Lakehouse 的實(shí)踐

最后介紹下基于 ADB 構(gòu)建 Lakehouse 的實(shí)踐。

圖片

前面也提到 ADB 湖倉版擁抱開源技術(shù),ADB 集成了流式處理引擎 Flink,并在此基礎(chǔ)上推出了 APS 數(shù)據(jù)管道服務(wù),APS 具備如下優(yōu)勢(shì):

1.低成本,低延遲:作業(yè)級(jí)別彈性資源,按量付費(fèi);按流量自由設(shè)定作業(yè)資源;充分享受 Flink 流式處理性能紅利。

2.多數(shù)據(jù)源快速集成:得益于 Flink 成熟的 Connectors 機(jī)制,可以方便對(duì)接如 SLS、Kafka 等數(shù)據(jù)源,同時(shí)可以保證數(shù)據(jù)入湖的精確一致性。

3.低使用門檻:支持白屏化操作快速構(gòu)建 Lakehouse,基于統(tǒng)一元數(shù)據(jù)服務(wù),Lakehouse 數(shù)據(jù)可通過 Spark/ADB 引擎無縫訪問。

圖片

而為了滿足客戶對(duì)于批處理以及機(jī)器學(xué)習(xí)能力的訴求,ADB 集成了 Spark 引擎,并在此技術(shù)上推出了 Servlersss Spark,其具備如下優(yōu)勢(shì):

1.一份數(shù)據(jù)存儲(chǔ),在離線共享:無縫對(duì)接 ADB 已有元數(shù)據(jù)和數(shù)據(jù);支持大吞吐讀寫 ADB 數(shù)據(jù);Spark 批量寫入的數(shù)據(jù),在線分析查詢可直接訪問。

2.數(shù)據(jù)庫體系&體驗(yàn):使用 ADB 統(tǒng)一的賬號(hào)、權(quán)限和鑒權(quán)體系;支持通過 ADB Workflow、DMS 以及 DataWorks 調(diào)度編排 SparkSQL 作業(yè)。

3.完全兼容 Spark 生態(tài):基于最新的 Apache Spark 3.X 版本,充分享受開源社區(qū)紅利;支持 SparkSQL、DataFrame API 主流編程接口以及 Thrift Server;支持 Spark UDF,支持 Hive UDF/UDTF/UDAF。

4.按量計(jì)費(fèi),秒級(jí)彈性:開箱即用,按量計(jì)費(fèi)無任何持有成本;基于神龍、ECS/ECI 的管控底座以及資源池化,緩存加速等技術(shù),支持 Spark Pod 秒級(jí)拉起。

圖片

對(duì)于實(shí)時(shí)性有訴求的場(chǎng)景,可以基于 ADB APS 服務(wù)可以非常方便的構(gòu)建準(zhǔn)實(shí)時(shí) Lakehouse,白屏化操作快速配置入湖通道,多種數(shù)據(jù)源支持,滿足不同數(shù)據(jù)源接入訴求,更多數(shù)據(jù)源也在持續(xù)集成中。

圖片

而對(duì)于實(shí)時(shí)性沒有訴求的場(chǎng)景,可以基于 Spark + Hudi + ADB 工作編排構(gòu)建離線 Lakehouse,如想對(duì) RDS 數(shù)據(jù)構(gòu)建離線Lakehouse進(jìn)行分析,可使用ADB工作編排,利用 Spark 將 RDS 數(shù)據(jù)離線導(dǎo)入 Lakehouse,并做數(shù)據(jù)的清洗和加工,有需要最后可通過一條簡(jiǎn)單的 Spark SQL將數(shù)據(jù)從 Hudi 導(dǎo)入 ADB 做查詢分析加速。

另外 ADB Spark 與 Hudi 和 ADB 表都做了深度集成,便于客戶使用,如對(duì)于 Hudi 表的使用,免去了很多 Hudi 額外的配置,開箱即用;對(duì)于 ADB 表,可通過 Spark 創(chuàng)建、刪除 ADB 表元數(shù)據(jù),也支持讀寫 ADB 表數(shù)據(jù)。

圖片

另外最后介紹下 Spark 與 ADB 集成提供的 Zero-ETL 解決方案,這也與 2022 AWS reinvent 推出的數(shù)據(jù)集成服務(wù) Zero-ETL 類似,我們通過一個(gè)場(chǎng)景了解 Zero-ETL 的應(yīng)用及其優(yōu)勢(shì)。

客戶如果對(duì)于 ADB 表有分析挖掘的需求,受限于 JDBC 方式吞吐的限制,需要先將 ADB內(nèi)表數(shù)據(jù)以 parquet 格式導(dǎo)出到  OSS,利用 OSS 的帶寬,再通過 Spark 進(jìn)行分析挖掘,最后輸出挖掘結(jié)果,可以看到這種方案中存在ETL操作,從而引入數(shù)據(jù)一致性差、時(shí)效性低的問題。

在 ADB 湖倉版中 Spark 與 ADB 做了深度集成,通過 Lakehouse  API直接訪問 ADB 內(nèi)表數(shù)據(jù),吞吐高,所以面對(duì)同樣的場(chǎng)景,可以使用下面的鏈路,即直接通過 Spark 分析 ADB 數(shù)據(jù),無需 ETL,數(shù)據(jù)一致性好,時(shí)效性也很高;另外對(duì)于 Lakehouse API 層的訪問也支持列投影、謂詞下推、分區(qū)裁剪等能力,更多下推能力也在持續(xù)建設(shè)中。

圖片

前面介紹了很多關(guān)于 ADB 湖倉版的功能以及優(yōu)勢(shì),包括 Serverless Spark、APS 服務(wù)、融合引擎、工作流編排等等。而對(duì)于 ADB 湖倉版的定位總結(jié)成一句話就是從湖到倉,打造云原生一站式數(shù)據(jù)分析平臺(tái)。

讓客戶通過 ADB 湖倉版平臺(tái)就可以輕松玩轉(zhuǎn)數(shù)據(jù)分析。

責(zé)任編輯:姜華 來源: DataFunTalk
相關(guān)推薦

2021-09-13 14:19:03

HudiLakehouse阿里云

2023-07-11 10:23:00

Lakehouse數(shù)據(jù)湖

2023-05-19 09:42:54

Chatbot

2012-11-19 10:35:18

阿里云云計(jì)算

2021-04-12 10:07:06

云計(jì)算邊緣云阿里云

2021-09-13 13:46:29

Apache HudiB 站數(shù)據(jù)湖

2023-09-05 07:22:17

Hudi數(shù)據(jù)存儲(chǔ)

2021-08-02 09:40:57

Dapr阿里云Service Mes

2024-03-06 07:34:01

大數(shù)據(jù)車聯(lián)網(wǎng)智能汽車

2022-05-10 10:03:52

Halodoc數(shù)據(jù)平臺(tái)Lakehouse

2023-08-07 08:40:24

2013-01-10 12:29:59

阿里云年度盤點(diǎn)云計(jì)算實(shí)踐元年

2021-02-24 09:15:48

kubernetes混合云云端

2020-04-29 14:43:32

VMware

2023-08-21 08:19:22

ADB數(shù)據(jù)湖分析

2017-09-13 12:18:29

2020-07-24 10:36:17

云計(jì)算云平臺(tái)數(shù)據(jù)

2022-05-13 14:28:03

云原生權(quán)限云原生

2020-05-18 12:04:17

PrometheusMySQL監(jiān)控

2022-08-21 07:25:09

Flink云原生K8S
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

黑人精品一区二区三区| 在线精品一区二区三区| 欧美激情办公室videoshd| 久久精品五月| 色婷婷综合成人av| 中文字幕一区二区三区人妻在线视频 | 午夜精品一区二区三区视频| 中文字幕日韩高清在线| 一本到不卡免费一区二区| 中国成人亚色综合网站| 亚洲第一黄色片| 日韩成人伦理电影在线观看| 欧美黑人一区二区三区| 久久久视频6r| 一区二区三区视频免费视频观看网站| 色偷偷久久人人79超碰人人澡 | 欧美日韩一区二区三区四区在线观看| 日韩大片免费观看视频播放| 欧美做爰性生交视频| 亚洲自拍av在线| 青娱乐91视频| 成人影院在线| 亚洲国产精品va在线看黑人动漫| 视色视频在线观看| 亚洲精品mv| 夜夜爽夜夜爽精品视频| 在线视频不卡一区二区| 深夜视频在线免费| 国产91精品一区二区麻豆网站 | 人人爽人人爽人人片av| 欧美久久久久| 色婷婷综合久久久久| 熟女少妇一区二区三区| 国内露脸中年夫妇交换精品| 欧美日韩大陆在线| 妺妺窝人体色www在线观看| 123区在线| 夜夜操天天操亚洲| 三级在线免费观看| 在线播放麻豆| 国产午夜一区二区三区| 久久久久九九九| 欧美一级免费片| 国产伦精品一区二区三区视频青涩| 国产精品福利小视频| 男女啊啊啊视频| 一本色道久久综合亚洲精品高清 | 日韩毛片免费视频一级特黄| 在线免费观看一区| 国产1区2区在线| 人狥杂交一区欧美二区| 午夜精品久久久久久久 | 爽爽淫人综合网网站| 69久久夜色精品国产7777 | 欧洲国内综合视频| 久章草在线视频| 欧美成人资源| 在线视频你懂得一区二区三区| 337p亚洲精品色噜噜| 欧美中文在线免费| 日韩一区二区视频在线| 一本色道久久| 欧美中文在线观看国产| 欧美 日韩 精品| 久久精品国产清高在天天线| 国产成+人+综合+亚洲欧美丁香花| 欧美特黄aaaaaa| 久久精品盗摄| 国产精品入口夜色视频大尺度 | 日韩一级大片在线观看| 超碰中文字幕在线观看| 97se亚洲国产一区二区三区| 亚洲国产天堂久久综合| 国产精品无码久久久久久| 香蕉视频一区二区三区| 亚洲丝袜在线视频| 国产精品suv一区二区88| 婷婷中文字幕一区| 欧美极品xxxx| 伦av综合一区| 久久国内精品自在自线400部| 亚洲a区在线视频| 女人18毛片水真多18精品| 91美女片黄在线| 亚洲国产精品www| 人人澡人人添人人爽一区二区| 亚洲一区在线观看视频| 无码人妻丰满熟妇区毛片| 韩国理伦片久久电影网| 日韩午夜电影av| av网站有哪些| 日韩免费在线| 性视频1819p久久| 久草热在线观看| 国产精品中文有码| 久久人人97超碰人人澡爱香蕉| 超碰在线影院| 亚洲一区免费视频| 国产三级三级看三级| 中文字幕一区图| 亚洲欧洲在线观看| 成熟的女同志hd| 久久成人免费| 91久久国产综合久久蜜月精品 | 无码日韩精品一区二区| 国产视频一区免费看| 国产精品十八以下禁看| 色窝窝无码一区二区三区| 中文一区一区三区高中清不卡| 成人在线视频一区二区三区| 最新欧美电影| 亚洲国产精品久久| www.av免费| 欧美资源在线| 国产精品一 二 三| 麻豆网站视频在线观看| 色综合色狠狠综合色| 人妻换人妻仑乱| 日韩精品看片| 国产suv精品一区二区| 精品人妻一区二区三区麻豆91 | 蜜桃av一区二区三区| 激情视频一区二区| 在线xxxx| 91精品在线一区二区| 丁香激情五月少妇| 亚洲在线黄色| 国精产品99永久一区一区| 成人免费视屏| 欧美日韩一区中文字幕| 亚洲AV无码国产精品| 亚洲小说欧美另类婷婷| 亚洲综合日韩在线| 日韩在线免费电影| 欧美图区在线视频| 成人免费毛片糖心| 一区二区国产精品| 国产精品一区二区a| 亚洲图区一区| 日韩三区在线观看| caoporn91| 精品一二线国产| 亚洲一区二区三区在线观看视频| 色香欲www7777综合网| 亚洲天堂2020| 欧美激情一区二区三区免费观看| 26uuu国产日韩综合| 99视频在线免费播放| 老汉色老汉首页av亚洲| 久久久免费电影| 欧美一区二区三区成人片在线| 亚洲一区二区精品久久av| 青娱乐精品在线| 欧美日韩四区| 国产丶欧美丶日本不卡视频| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 欧美日韩国产欧美日美国产精品| www久久久久久久| 日本欧美一区二区三区乱码| 日韩hmxxxx| julia一区二区三区中文字幕| 一区二区三区视频观看| 在线观看国产精品视频| 国产精品久久777777| 国产永久免费网站| 女同性一区二区三区人了人一| 亚洲a成v人在线观看| 国语对白在线刺激| 亚洲精品久久久久中文字幕二区| av黄色在线播放| 国产欧美精品一区| 一本一道久久a久久综合蜜桃| 亚洲a一区二区三区| 成人av资源网| 天天免费亚洲黑人免费| 在线视频欧美日韩| 国产高中女学生第一次| 亚洲高清久久久| 人人爽人人爽人人片| 美女久久久精品| bt天堂新版中文在线地址| 日韩av中文字幕一区| 国产精品嫩草视频| 青青在线视频| 亚洲欧美日韩精品| 99久久精品国产色欲| 午夜在线成人av| 欧美老女人性生活视频| 国产电影一区在线| 国产一级不卡毛片| 午夜日韩福利| 日韩videos| 国产精品高潮呻吟久久久久| 国产精品www| 在线看三级电影| 亚洲性xxxx| 亚洲a视频在线观看| 在线观看视频一区| 久久久久久激情| 国产精品欧美久久久久无广告| 娇妻高潮浓精白浆xxⅹ| 免费成人小视频| 91精品国产91久久久久麻豆 主演| 成人羞羞网站入口免费| 国产精品久久久久久久免费大片| 欧美日韩亚洲国产| 国内精品久久久久久久久| 亚洲黄色小视频在线观看| 欧美午夜三级| 69**夜色精品国产69乱| 成人在线直播| 亚洲少妇激情视频| 国产91绿帽单男绿奴| 欧美午夜精品理论片a级按摩| 日本学生初尝黑人巨免费视频| 中文字幕亚洲综合久久菠萝蜜| av在线网站观看| 成人精品一区二区三区四区| 99re精彩视频| 视频一区中文字幕| 男女激情无遮挡| 欧美va天堂在线| 亚洲一区影院| sdde在线播放一区二区| 欧美高清视频一区二区三区在线观看| 99久久免费精品国产72精品九九| 成人福利在线观看| 91精品店在线| 国产精品久久久久久久av大片| 亚洲精品mv| 亚洲18私人小影院| 国产高清在线a视频大全| 久久香蕉频线观| 午夜在线观看视频| 中文字幕亚洲综合久久| 男人天堂综合| 日韩国产欧美区| 午夜小视频在线播放| 精品国产一区二区亚洲人成毛片| 国产草草影院ccyycom| 欧美老女人在线| 国产又黄又大又爽| 制服丝袜亚洲精品中文字幕| 亚洲最大成人av| 欧美日韩国产精选| 国产又粗又黄视频| 欧美一区二区免费视频| 国产精品特级毛片一区二区三区| 欧美色大人视频| 一区二区视频在线免费观看| 欧美日韩一区二区在线观看| 亚洲视频在线观看免费视频| 欧美三级韩国三级日本三斤 | 欧美精品粉嫩高潮一区二区| 一级片视频免费| 91麻豆精品国产91久久久资源速度 | 欧美电影免费提供在线观看| 超碰在线人人干| 亚洲第一色中文字幕| 头脑特工队2在线播放| 精品无人国产偷自产在线| 黄色软件在线| 最近2019中文字幕在线高清 | 亚洲大片精品免费| 九色一区二区| 精品国产91乱码一区二区三区四区 | 国产精品乱码| 亚洲a级精品| 日韩亚洲视频| 亚洲国产一区二区三区在线播放| 日本a在线天堂| 中文一区在线| 爱情岛论坛vip永久入口| 久久精品国产免费| 亚洲丝袜在线观看| 91久色porny| 四虎永久免费地址| 亚洲一区二区在线视频| 永久免费无码av网站在线观看| 欧美三级三级三级| 亚洲av色香蕉一区二区三区| 日韩成人在线视频观看| 福利在线视频导航| 欧美精品在线免费观看| 美女搞黄视频在线观看| 国产欧美 在线欧美| 视频欧美一区| 欧美在线激情| 欧美三级午夜理伦三级中文幕| 国产乱子夫妻xx黑人xyx真爽 | 艳妇乳肉豪妇荡乳xxx| 国产夜色精品一区二区av| 欧美爱爱免费视频| 红桃视频成人在线观看| 在线免费观看一区二区| 337p日本欧洲亚洲大胆精品 | 在线观看高清免费视频| 国产精品一品二品| av手机在线播放| 亚洲国产精品一区二区尤物区| 最好看的日本字幕mv视频大全| 精品国产露脸精彩对白| 午夜伦全在线观看| 欧美亚洲激情视频| 久久精品九色| 亚洲精品一区二区三| 国产精品久久777777毛茸茸| 欧美激情第一区| 日本一区二区三区久久久久久久久不| 国产在线观看99| 69堂国产成人免费视频| 狠狠狠综合7777久夜色撩人| 久久人人爽人人| 久久国产精品美女| 正在播放精油久久| 日韩中文字幕91| 中国av免费看| 亚洲亚洲精品在线观看| 国产免费一区二区三区最新不卡| 亚洲午夜久久久久久久| 91九色国产在线播放| av蓝导航精品导航| 91精品电影| 91视频这里只有精品| 欧美韩国日本综合| 手机av免费观看| 亚洲乱码av中文一区二区| heyzo在线播放| 99久久精品久久久久久ai换脸| 婷婷色综合网| 精品久久久久一区| 99热精品在线播放| 日韩中文字幕国产精品| abab456成人免费网址| 欧美激情专区| 久久av最新网址| 美女洗澡无遮挡| 福利视频一区二区| 香蕉视频网站在线| 97在线视频国产| 三级精品视频| 欧美三级一级片| 久久久国产午夜精品| 日本中文字幕第一页| 亚洲美女激情视频| 日本电影欧美片| 日韩久久在线| 蜜臀99久久精品久久久久久软件| 神马久久久久久久久久久| 91福利在线免费观看| 国产在线日本| 国产日本欧美一区二区三区在线 | 亚洲精品中文字幕乱码三区91| 日韩精品免费一线在线观看| 老色鬼在线视频| 久久精品午夜一区二区福利| 久久电影一区| youjizz亚洲女人| 9191精品国产综合久久久久久| 二区三区四区高清视频在线观看| 亚洲最大成人网色| 亚洲欧洲日本一区二区三区| 少妇大叫太粗太大爽一区二区| 在线观看日韩毛片| 黄色免费在线观看网站| 成人片在线免费看| 午夜综合激情| 国产福利在线导航| 精品国产人成亚洲区| 免费在线小视频| 亚洲国产精品123| 国产不卡视频一区| 毛片基地在线观看| 日韩一二三在线视频播| a看欧美黄色女同性恋| 一女被多男玩喷潮视频| 日本一区二区成人| 国产成人麻豆精品午夜在线| 国内精品小视频在线观看| 久久91麻豆精品一区| 国产人妻精品久久久久野外| 午夜国产精品影院在线观看| 成人在线播放视频| 成人国产一区二区| 日韩主播视频在线| 麻豆亚洲av熟女国产一区二| 国产婷婷97碰碰久久人人蜜臀| 日韩av黄色| 国产又大又硬又粗| 亚洲少妇30p| 黄色片视频在线观看| 96国产粉嫩美女| 久久亚洲图片| 欧美黑人一级片| 亚洲片国产一区一级在线观看| 亚洲精品无播放器在线播放| 丁香花在线影院观看在线播放| 日本一区二区三区国色天香| 天天干天天插天天操| 成人亚洲激情网|