Optimización de tablas Delta Lake

Transformar y analizar datos con Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

¿Qué es Delta Lake?

  • Capa de almacenamiento de código abierto para lakehouses
  • Transacciones ACID, gestión de metadatos y versionado
  • Fabric usa el formato de tabla Delta Lake (Parquet) como estándar
  • Interoperabilidad entre las experiencias de Fabric

Diagrama de la arquitectura de Fabric que muestra datos ingeridos y almacenados como tablas Delta Lake y consultados con Power BI

Transformar y analizar datos con Microsoft Fabric

Mantenimiento de tablas

  • Mantén las tablas delta en buen estado
  • Operaciones de mantenimiento:
    • Optimize
    • V-Order
    • Vacuum
Transformar y analizar datos con Microsoft Fabric

Optimize

  • Consolidar múltiples archivos Parquet pequeños en uno grande
    • Tamaño ideal entre 128MB y 1GB
    • Mejora la compresión y la distribución, con lecturas más eficientes
    • Recomendado optimizar tras cargar tablas grandes

Diagrama que representa una tabla de lakehouse compuesta por una docena de archivos parquet pequeños optimizados en dos archivos parquet grandes. Los archivos originales quedan inactivos

Transformar y analizar datos con Microsoft Fabric

Optimize

  • Consolidar múltiples archivos Parquet pequeños en uno grande
    • Tamaño ideal entre 128MB y 1GB
    • Mejora la compresión y la distribución, con lecturas más eficientes
    • Recomendado optimizar tras cargar tablas grandes

Diagrama que representa una tabla de lakehouse compuesta por una docena de archivos parquet pequeños optimizados en dos archivos parquet grandes. Los archivos originales quedan inactivos

Transformar y analizar datos con Microsoft Fabric

Ejecutar Optimize desde el explorador de Lakehouse

Captura del comando Maintenance en el explorador de Lakehouse, con la opción Run OPTIMIZE command resaltada

Transformar y analizar datos con Microsoft Fabric

Ejecutar Optimize en Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Transformar y analizar datos con Microsoft Fabric

Ejecutar Optimize en PySpark

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Transformar y analizar datos con Microsoft Fabric

V-Order

  • Optimización especial al escribir archivos Parquet
  • Activada por defecto
Transformar y analizar datos con Microsoft Fabric

Aplicar V-Order desde el explorador de Lakehouse

Captura del comando Maintenance en el explorador de Lakehouse, con la opción Apply V-ORDER resaltada

Transformar y analizar datos con Microsoft Fabric

Controlar la escritura V-Order en una sesión de Apache Spark

  • Activar V-Order para la sesión

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

     

  • Desactivar V-Order para la sesión

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Transformar y analizar datos con Microsoft Fabric

Aplicar V-Order al optimizar una tabla

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Transformar y analizar datos con Microsoft Fabric

Vacuum

  • Quitar archivos antiguos que ya no se necesitan y superan el umbral de retención
  • Reduce los costes de almacenamiento en la nube

Diagrama que representa una tabla de lakehouse con dos archivos parquet grandes marcados como activos y una docena de archivos parquet pequeños ya inactivos pero aún en almacenamiento. Tras ejecutar vacuum, se eliminan los archivos antiguos

Transformar y analizar datos con Microsoft Fabric

Vacuum

  • Quitar archivos antiguos que ya no se necesitan y superan el umbral de retención
  • Reduce los costes de almacenamiento en la nube

Diagrama que representa una tabla de lakehouse con dos archivos parquet grandes marcados como activos y una docena de archivos parquet pequeños ya inactivos pero aún en almacenamiento. Tras ejecutar vacuum, se eliminan los archivos antiguos

Transformar y analizar datos con Microsoft Fabric

Ejecutar Vacuum desde el explorador de Lakehouse

Captura del comando Maintenance en el explorador de Lakehouse, con la opción Run VACUUM resaltada

Transformar y analizar datos con Microsoft Fabric

¡Vamos a practicar!

Transformar y analizar datos con Microsoft Fabric

Preparing Video For Download...