Delta Lake 資料表最佳化

使用 Microsoft Fabric 進行資料轉換與分析

Luis Silva

Solution Architect - Data & AI

什麼是 Delta Lake?

  • Lakehouse 的開源儲存層
  • ACID 交易、後設資料處理與版本控管
  • Fabric 以 Delta Lake 資料表格式(Parquet)為標準
  • 跨 Fabric 體驗互通

Fabric 架構圖,顯示資料以 Delta Lake 表格匯入與儲存,並可用 Power BI 查詢

使用 Microsoft Fabric 進行資料轉換與分析

資料表維護

  • 讓 delta 資料表維持良好狀態
  • 資料表維護作業:
    • Optimize
    • V-Order
    • Vacuum
使用 Microsoft Fabric 進行資料轉換與分析

Optimize

  • 將多個小型 Parquet 檔合併為大型檔
    • 理想檔案大小為 128MB 至 1GB
    • 改善壓縮與分佈,提高讀取效率
    • 載入大型資料表後建議執行最佳化

示意圖:將十多個小型 parquet 檔最佳化為兩個大型 parquet 檔。原始檔標記為非作用中

使用 Microsoft Fabric 進行資料轉換與分析

Optimize

  • 將多個小型 Parquet 檔合併為大型檔
    • 理想檔案大小為 128MB 至 1GB
    • 改善壓縮與分佈,提高讀取效率
    • 載入大型資料表後建議執行最佳化

示意圖:將十多個小型 parquet 檔最佳化為兩個大型 parquet 檔。原始檔標記為非作用中

使用 Microsoft Fabric 進行資料轉換與分析

在 Lakehouse explorer 執行 Optimize 指令

Lakehouse explorer 中的 Maintenance 指令截圖,強調 Run OPTIMIZE command 選項

使用 Microsoft Fabric 進行資料轉換與分析

在 Spark SQL 執行 Optimize 指令

%%sql
OPTIMIZE <lakehouse>.<table>;
使用 Microsoft Fabric 進行資料轉換與分析

在 PySpark 執行 Optimize 指令

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
使用 Microsoft Fabric 進行資料轉換與分析

V-Order

  • 針對寫入 Parquet 檔的特殊最佳化
  • 預設啟用
使用 Microsoft Fabric 進行資料轉換與分析

在 Lakehouse explorer 套用 V-Order

Lakehouse explorer 中的 Maintenance 指令截圖,強調 Apply V-ORDER 選項

使用 Microsoft Fabric 進行資料轉換與分析

在 Apache Spark 工作階段控制 V-Order 寫入

  • 在此工作階段啟用 V-Order

    %%sql 
    SET spark.sql.parquet.vorder.enabled=TRUE
    

     

  • 在此工作階段停用 V-Order

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
使用 Microsoft Fabric 進行資料轉換與分析

在最佳化資料表時套用 V-Order

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
使用 Microsoft Fabric 進行資料轉換與分析

Vacuum

  • 移除不再需要、且早於保留門檻的舊檔案
  • 降低雲端儲存成本

示意圖:兩個大型 parquet 檔為作用中,十多個小型 parquet 檔為非作用中但仍在儲存中。執行 vacuum 後,舊檔自儲存移除

使用 Microsoft Fabric 進行資料轉換與分析

Vacuum

  • 移除不再需要、且早於保留門檻的舊檔案
  • 降低雲端儲存成本

示意圖:兩個大型 parquet 檔為作用中,十多個小型 parquet 檔為非作用中但仍在儲存中。執行 vacuum 後,舊檔自儲存移除

使用 Microsoft Fabric 進行資料轉換與分析

在 Lakehouse explorer 執行 Vacuum

Lakehouse explorer 中的 Maintenance 指令截圖,強調 Run VACUUM 選項

使用 Microsoft Fabric 進行資料轉換與分析

一起來練習吧!

使用 Microsoft Fabric 進行資料轉換與分析

Preparing Video For Download...