Otimização de tabelas Delta Lake

Transforme e analise dados com o Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

O que é Delta Lake?

  • Camada de armazenamento open source para lakehouses
  • Transações ACID, gerenciamento de metadados e versionamento
  • Fabric usa o formato de tabela Delta Lake (Parquet) como padrão
  • Interoperabilidade entre as experiências do Fabric

Diagrama da arquitetura do Fabric mostrando dados ingeridos e armazenados como tabelas Delta Lake e depois consultados com Power BI

Transforme e analise dados com o Microsoft Fabric

Manutenção de tabelas

  • Manter tabelas Delta em bom estado
  • Operações de manutenção de tabela:
    • Optimize
    • V-Order
    • Vacuum
Transforme e analise dados com o Microsoft Fabric

Optimize

  • Consolidar vários arquivos Parquet pequenos em um arquivo grande
    • Tamanho ideal entre 128MB e 1GB
    • Melhorar compactação e distribuição, gerando leituras eficientes
    • Recomendado otimizar após carregar tabelas grandes

Diagrama representando uma tabela de lakehouse composta por uma dúzia de pequenos arquivos parquet sendo otimizados em dois arquivos parquet grandes. Os arquivos originais permanecem inativos

Transforme e analise dados com o Microsoft Fabric

Optimize

  • Consolidar vários arquivos Parquet pequenos em um arquivo grande
    • Tamanho ideal entre 128MB e 1GB
    • Melhorar compactação e distribuição, gerando leituras eficientes
    • Recomendado otimizar após carregar tabelas grandes

Diagrama representando uma tabela de lakehouse composta por uma dúzia de pequenos arquivos parquet sendo otimizados em dois arquivos parquet grandes. Os arquivos originais permanecem inativos

Transforme e analise dados com o Microsoft Fabric

Executando Optimize pelo Lakehouse explorer

Captura de tela do comando Maintenance no Lakehouse explorer, destacando a opção Run OPTIMIZE command

Transforme e analise dados com o Microsoft Fabric

Executando Optimize no Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Transforme e analise dados com o Microsoft Fabric

Executando Optimize no PySpark

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Transforme e analise dados com o Microsoft Fabric

V-Order

  • Otimização especial aplicada ao gravar arquivos Parquet
  • Ativado por padrão
Transforme e analise dados com o Microsoft Fabric

Aplicando V-Order pelo Lakehouse explorer

Captura de tela do comando Maintenance no Lakehouse explorer, destacando a opção Apply V-ORDER

Transforme e analise dados com o Microsoft Fabric

Controlando a escrita V-Order na sessão do Apache Spark

  • Ativar V-Order para a sessão

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

     

  • Desativar V-Order para a sessão

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Transforme e analise dados com o Microsoft Fabric

Aplicando V-Order ao otimizar uma tabela

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Transforme e analise dados com o Microsoft Fabric

Vacuum

  • Remover arquivos antigos que não são mais necessários e que ultrapassaram o limite de retenção
  • Reduzir custos de armazenamento em nuvem

Diagrama representando uma tabela de lakehouse composta por dois grandes arquivos parquet marcados como ativos e uma dúzia de pequenos arquivos parquet que não estão mais ativos, mas ainda no armazenamento. Após executar vacuum, os arquivos antigos são removidos do armazenamento

Transforme e analise dados com o Microsoft Fabric

Vacuum

  • Remover arquivos antigos que não são mais necessários e que ultrapassaram o limite de retenção
  • Reduzir custos de armazenamento em nuvem

Diagrama representando uma tabela de lakehouse composta por dois grandes arquivos parquet marcados como ativos e uma dúzia de pequenos arquivos parquet que não estão mais ativos, mas ainda no armazenamento. Após executar vacuum, os arquivos antigos são removidos do armazenamento

Transforme e analise dados com o Microsoft Fabric

Executando Vacuum pelo Lakehouse explorer

Captura de tela do comando Maintenance no Lakehouse explorer, destacando a opção Run VACUUM

Transforme e analise dados com o Microsoft Fabric

Vamos praticar!

Transforme e analise dados com o Microsoft Fabric

Preparing Video For Download...