探索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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...