探索GaussDB(DWS)湖倉融合:Hudi與元數據打通的深度解析

来源:https://www.cnblogs.com/huaweiyun/p/18108324
-Advertisement-
Play Games

華為雲數倉GaussDB(DWS)研發專家高若岳老師,深入解析GaussDB(DWS)數據倉庫如何與大數據生態快速對接。 隨著智能數據時代的到來,數據量爆髮式增長,數據形態呈海量化和多樣化發展,不再是單一的結構化數據。從海量和多樣化的數據做融合分析,創造更多業務價值的訴求日益強烈。在本期《Gauss ...


華為雲數倉GaussDB(DWS)研發專家高若岳老師,深入解析GaussDB(DWS)數據倉庫如何與大數據生態快速對接。

隨著智能數據時代的到來,數據量爆髮式增長,數據形態呈海量化和多樣化發展,不再是單一的結構化數據。從海量和多樣化的數據做融合分析,創造更多業務價值的訴求日益強烈。在本期《GaussDB(DWS)湖倉融合技術解析》的主題直播中,華為雲數倉GaussDB(DWS)研發專家高若岳老師,深入解析GaussDB(DWS)數據倉庫如何與大數據生態快速對接?如何高效訪問開源數據?GaussDB(DWS)湖倉融合技術為企業帶來哪些助力?

什麼是數據湖?

不同的用戶對數據湖的概念有不同的理解,例如:

  • 雲廠商:基於對象存儲,以 S3、OSS、OBS 等構建數據底座,進行統⼀存儲即為湖;
  • 大數據互聯網:以數據湖三劍客為主,Iceberg、Hudi、Delta lake。它們可以支持比 Hive更高層的 Upsert、Delete、事務操作等高級特性,能基於 Hive 進行升級,解決準實時性的問題即為湖;
  • 傳統用戶:以Hadoop集群為主,滿足支持所有結構化、半結構、無結構化的數據存儲即為湖。

數據湖的優勢

  • 更低的存儲成本,更高的可靠性:使用對象存儲,相比於本地磁碟存儲、SSD 存儲或者雲盤存儲等,可以大幅降低存儲成本,並且通過編碼的方式能夠在降低副本數據量的同時又能保證高可靠性,可以使用戶不用擔心底層數據的丟失,從而獲得低成本的存儲;
  • 更好的 Table format:通過支持 ACID 事務、支持 Schema evolution,能夠為用戶提供更好的表格式;
  • 更好的 File format:數據湖在文件格式上支持越來越多的半結構化 Map、Struct、Json 等,並且支持越來越多的索引,進而使文件的查詢和存儲效率更高,並且在基於列式存儲的基礎上支持更多的複雜嵌套結構;
  • 統⼀的 Catalog:通過統一的 Catalog 實現統⼀的元數據管理、許可權管理、統計信息管理、入湖管理等。

為什麼要做湖倉融合?

  1. 數倉加速:基於數據湖的遠程IO成本很高,且缺少一系列數倉加速的手段。早期的數據湖格式多樣且不成熟,索引的支持不完善,查詢性能有待提升。並且數據湖主要針對吞吐量的優化,關註低成本和高可靠,不適用於高性能的需求;
  2. 實時分析:傳統的數據湖實時性不夠,在Iceberg或者Hudi的支持下可能能解決分鐘級別的時效性,但是無法解決秒級時效性的問題;
  3. 高併發查詢:對於高併發查詢,不管是點查還是聚合類的查詢,數倉是更擅長的。比如做分桶的處理,更精細的裁剪,降低掃描的數據量,提升點查的效率。另一方面通過物化視圖或者CUBE等相關的預聚合手段,可以提升聚合查詢的性能。
  4. 降本增效:簡化技術架構,增強整體架構可靠性,降低運維成本;
  5. 更完善的數據治理:湖倉融合的數據底座統一了主數據和元數據,基於此才有可能做上層統⼀的數據治理。

GaussDB(DWS)湖倉融合優勢介紹

無縫訪問數據湖

  • 對接LakeFormation元數據管理,直接訪問數據湖的數據表定義;
  • 支持主要開源數據格式:Hudi,ORC, Parquet, Carbon,Iceberg等;
  • 可支持實時鏈路的增量分析,也可以支持離線鏈路的批量分析;
  • 數據湖加速。

融合查詢

  • GaussDB(DWS)混合查詢數據湖和倉內的任意數據;
  • 查詢一步到位輸出到倉內/數據湖,無需額外數據中轉拷貝。

極致查詢性能

  • 使用GaussDB(DWS)數倉高質量的查詢計劃和高效的執行引擎;
  • 使用數倉的負載管理手段,精準控制。
湖倉融合架構圖

湖倉融合支持哪些數據格式?

當前GaussDB(DWS)湖倉融合技術,支持以下三種數據格式:

  • 文本類型:支持TEXT、CSV,高性能導入導出,支持指定分隔符(delimiter)、換行符(eol)、編碼(encoding),以及多種容錯方式處理,錯誤表等;
  • 列存存儲格式:高性能列式存儲格式,用於大數據環境中高效的存儲和查詢數據,支持多種壓縮演算法、編碼方式,並且相容多種引擎;

Parquet/ORC:融合查詢,複雜類型查詢,支持多種壓縮演算法,支持多種方式寫出。

  • 湖格式:Hudi 是一個功能豐富的存儲管理平臺,支持構建具有增量數據管道的流式數據湖,針對處理引擎和常規批處理進行了優化;針對數據探索、BI場景的互動式分析能力進行了優化;

支持COW、MOR的導入查詢,以及增聯同步導入。

湖倉融合主要面臨3個難點:

  • 如何統一湖倉的元數據和建表語句,讓用戶獲得一個統一數據目錄和表結構; 如何完善湖倉的實時能力,來解決不同場景的實時性需求; 如何讓湖倉架構能夠有超過數倉的性能。

湖倉融合功能介紹

本次分享,我們重點詳細講解Hudi和元數據打通兩大功能。

Hudi是什麼?

Hudi 是一個功能豐富的存儲管理平臺,支持構建具有增量數據管道的流式數據湖,針對處理引擎和常規批處理進行了優化;針對數據探索、BI場景的互動式分析能力進行了優化。

Hudi具備哪些能力?

  • 變更數據:支持高效的數據更新,刪除能力,基於可插拔的索引保證數據唯一,支持Upsert、Merge語法;
  • 實時性:支持CDC數據實時入湖;支持增量數據處理,可基於Flink、Spark進行流式數據處理;支持基於增量通道實現快速增量批量處理;
  • 數據事務:支持事務ACID,異常回滾,Snapshot數據隔離;
  • 併發性:支持MVCC併發控制,支持讀寫併發操作;
  • 多版本能力:支持基於Time Travel多版本,SavePoint能力;
  • 存儲優化:支持order/z-order clustering 優化,提高查詢能力;
  • 表結構變更:支持豐富的表變更操作,向後相容;
  • 數據管理:支持豐富的clustering、compactions、clean、小文件自動合併操作;
  • 生態相容:豐富的生態集成,支持flink/spark 寫入,HetuEngine/hive/spark/flink 做實時/增量查詢。

Hudi具備自動同步能力,可以將單表同步任務實現外表到內表的數據合併,記錄增量同步進度。智能調度框架,實現定時調用存儲過程任務,併進行資源管控調度,提供任務啟停,告警等運維能力。

當前DWS支持自動增量同步

自動同步

(1)單表同步任務實現外表到內表的數據合併,記錄增量同步進度。(列映射, Hudi增量commit time同步點)

(2)智能調度框架,實現定時調用存儲過程任務,併進行資源管控調度,提供任務啟停,告警等運維能力 。

Hudi同步任務使用:

Hudi查詢方式介紹

  • Hudi外表查詢

(1)支持Hudi兩種表類型,COW、MOR;

(2)支持Hudi兩種查詢視圖,snapshot、incremental。

  • 增量查詢

針對Hudi增量查詢功能,可以通過設置增量查詢參數實現增量查詢。

  • 增量設置的增量參數

可以通過查詢以下視圖查看已經設置了哪些參數,檢查是否設置正確。

  • 查詢Hudi外表屬性

讀取OBS上Hudi數據的hoodie.properties。

  • 查詢Hudi外表最大時間線

讀取OBS上Hudi數據最大時間線,也就是最新的提交記錄。

元數據打通

圖一屬於存算分離架構,存算分離,底層數據文件可對上層服務共用。湖和倉的元數據隔離,共用數據仍需ETL。湖和倉許可權隔離,不支持統一許可權管理。

圖二湖倉一體架構,在存算分離的基礎上,構建統一元數據層,上層服務通過統一元數據層,便捷高效地共用數據,對上層服務實現統一的高效的許可權管理。

元數據打通——Lakeformation使用指導

創建Lakeformation數據源

前提條件:

  1. 有可用的LakeFormation實例且已對接MRS服務;
  2. 創建包含LakeFormation許可權的委托(需包含最小許可權)。

步驟一:在GaussDB(DWS)管理控制台,單擊“集群管理”

步驟二:在集群列表,單機指定集群的名稱,然後選擇“數據源->Lakeformation數據源”。

步驟三:在LakeFormation數據源頁面,單擊“創建LakeFormation數據源連接”,填寫配置參數。

創建external schema

通過創建external schema來訪問存儲在Lakeformation服務中MRS服務表的元數據,進而訪問存儲在OBS上的表數據。

查詢:其中ex_lf為前面創建的external schema的名稱,test為想要訪問的Lakeformation服務的表。且該表已經在角色授權中對當前用戶授予此表對應的select許可權。

本期分享到此結束,更多關於GaussDB(DWS)產品技術解析、數倉產品新特性的介紹,請關註GaussDB(DWS)開發者平臺,GaussDB(DWS)開發者平臺為開發者們提供最新、最全的信息咨詢,包括精品技術文章、最佳實踐、直播集錦、熱門活動、海量案例、智能機器人。讓您學+練+玩一站式體驗GaussDB(DWS)。

GaussDB(DWS)開發者平臺鏈接:https://bbs.huaweicloud.com/contents/dws/learning.html

 

點擊關註,第一時間瞭解華為雲新鮮技術~

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Windows Server 2022 Standard / Datacenter 版本說明:該版本包含了 server 2022的標準版、數據中心版,在安裝過程中可以選擇安裝哪個版本,該版本只有64位系統。 下載地址1:https://msproduct.download.prss.microso ...
  • windows 11 家庭版/家庭單語言版/教育版/專業版/專業教育版/專業工作站版 簡體中文 ed2k://|file|zh-cn_windows_11_consumer_editions_version_23h2_updated_march_2024_x64_dvd_bcbf6ac6.iso|6 ...
  • 本系列為《Learning eBPF》一書的翻譯系列。 (內容並非機翻,部分夾帶私貨)筆者學習自用,歡迎大家討論學習。 ...
  • 實驗介紹: 活動目錄簡稱AD,在裡面創建對象包括組織單位對象,用戶對象,電腦對象 實驗環境: 兩台虛擬機包括一臺dns1域控制器,一臺虛擬機 一:在AD管理中心建“組織單位”對象財務部 1.在dns1打開AD管理中心,右鍵本地,新建組織單位 2.輸入財務部,這裡用財務部做例子也可輸入其他內容 二: ...
  • 緩存穿透、擊穿和雪崩是緩存使用中的常見問題,對它們的理解和相應的解決方法對於維護系統性能和穩定性至關重要。 1.緩存穿透 定義:當客戶端請求的數據在緩存中和資料庫中都不存在時,該請求會直接打到資料庫上,這種情況稱為緩存穿透。如果持續請求這樣的數據,會給資料庫帶來不必要的壓力。 解決方法: 緩存空對象 ...
  • 1.安裝Docker - 2024.03.28 官方手冊 清華大學開源軟體鏡像站 | 可從主頁找到Docker資源 # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates cu ...
  • 熟悉鍵盤操作可以極大地提高操作效率,熟練的 Linux 用戶幾乎不需要使用滑鼠,僅用鍵盤就可以更快且更方便地完成所有操作。 Linux 命令解釋器(也可以叫 Shell,終端,命令行等)也有很多快捷鍵,熟練掌握可以極大的提高操作效率。在本文整理一些最常用的快捷鍵。 常用命令行操作快捷鍵 : Ctrl ...
  • 對於生活中最常見的小游戲——走迷宮,相信大家都不陌生,人為走相信大家都會走,但能不能用代碼實現,我們認為是可以的,以下是我們對如何走迷宮的一些看法和代碼實現(cz負責隊列解決,mml負責用棧解決): 1.關於用隊列解決: 先簡單介紹一下隊列:隊列是一種操作受限的線性表,只允許在表的一端進行插入,在表 ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...