Delta Lake 表优化

使用 Microsoft Fabric 进行数据转换与分析

Luis Silva

Solution Architect - Data & AI

什么是 Delta Lake?

  • 数据湖仓的开源存储层
  • 支持 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 文件优化为两个大文件。原文件变为非活动

使用 Microsoft Fabric 进行数据转换与分析

Optimize

  • 将多个小 Parquet 文件合并为大文件
    • 理想文件大小 128MB–1GB
    • 提升压缩与分布,读更高效
    • 加载大表后建议执行优化

示意图:湖仓表由十余个小 Parquet 文件优化为两个大文件。原文件变为非活动

使用 Microsoft Fabric 进行数据转换与分析

在 Lakehouse 资源管理器中运行 Optimize 命令

Lakehouse 资源管理器中 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 资源管理器中应用 V-Order

Lakehouse 资源管理器中 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 文件和十余个仍在存储中的非活动小文件组成。运行 vacuum 后,旧文件从存储中删除

使用 Microsoft Fabric 进行数据转换与分析

Vacuum

  • 移除超过保留期限且不再需要的旧文件
  • 降低云存储成本

示意图:湖仓表由两个标记为活动的大 Parquet 文件和十余个仍在存储中的非活动小文件组成。运行 vacuum 后,旧文件从存储中删除

使用 Microsoft Fabric 进行数据转换与分析

在 Lakehouse 资源管理器中运行 Vacuum

Lakehouse 资源管理器中 Maintenance 命令的截图,突出显示 Run VACUUM 选项

使用 Microsoft Fabric 进行数据转换与分析

¡Vamos a practicar!

使用 Microsoft Fabric 进行数据转换与分析

Preparing Video For Download...