Optimizarea tabelelor Delta Lake

Transformă și analizează date cu Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

Ce este Delta Lake?

  • Strat de stocare open source pentru lakehouse-uri
  • Tranzacții ACID, gestionarea metadatelor și versionare
  • Fabric utilizează formatul Delta Lake (Parquet) ca standard
  • Interoperabilitate între serviciile Fabric

Diagramă arhitecturală Fabric care arată datele ingerate și stocate ca tabele Delta Lake, interogate ulterior cu Power BI

Transformă și analizează date cu Microsoft Fabric

Întreținerea tabelelor

  • Menținerea tabelelor delta în stare optimă
  • Operațiuni de întreținere a tabelelor:
    • Optimize
    • V-Order
    • Vacuum
Transformă și analizează date cu Microsoft Fabric

Optimize

  • Consolidează mai multe fișiere Parquet mici într-un fișier mare
    • Dimensiunea ideală: între 128 MB și 1 GB
    • Îmbunătățește compresia și distribuția, facilitând citiri eficiente
    • Recomandat după încărcarea tabelelor mari

Diagramă reprezentând un tabel lakehouse cu mai multe fișiere Parquet mici optimizate în două fișiere mari. Fișierele originale rămân inactive

Transformă și analizează date cu Microsoft Fabric

Optimize

  • Consolidează mai multe fișiere Parquet mici într-un fișier mare
    • Dimensiunea ideală: între 128 MB și 1 GB
    • Îmbunătățește compresia și distribuția, facilitând citiri eficiente
    • Recomandat după încărcarea tabelelor mari

Diagramă reprezentând un tabel lakehouse cu mai multe fișiere Parquet mici optimizate în două fișiere mari. Fișierele originale rămân inactive

Transformă și analizează date cu Microsoft Fabric

Rularea comenzii Optimize din exploratorul Lakehouse

Captură de ecran a comenzii Maintenance în exploratorul Lakehouse, evidențiind opțiunea Run OPTIMIZE command

Transformă și analizează date cu Microsoft Fabric

Rularea comenzii Optimize în Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Transformă și analizează date cu Microsoft Fabric

Rularea comenzii Optimize în PySpark

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Transformă și analizează date cu Microsoft Fabric

V-Order

  • Optimizare specială aplicată la scrierea fișierelor Parquet
  • Activată implicit
Transformă și analizează date cu Microsoft Fabric

Aplicarea V-Order din exploratorul Lakehouse

Captură de ecran a comenzii Maintenance în exploratorul Lakehouse, evidențiind opțiunea Apply V-ORDER

Transformă și analizează date cu Microsoft Fabric

Controlul scrierii V-Order în sesiunea Apache Spark

  • Activare V-Order pentru sesiune

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

     

  • Dezactivare V-Order pentru sesiune

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Transformă și analizează date cu Microsoft Fabric

Aplicarea V-Order la optimizarea unui tabel

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Transformă și analizează date cu Microsoft Fabric

Vacuum

  • Elimină fișierele mai vechi care nu mai sunt necesare și depășesc pragul de retenție
  • Reduce costurile de stocare în cloud

Diagramă reprezentând un tabel lakehouse cu două fișiere Parquet mari (active) și mai multe fișiere mici inactive, încă stocate. După rularea vacuum, fișierele vechi sunt eliminate

Transformă și analizează date cu Microsoft Fabric

Vacuum

  • Elimină fișierele mai vechi care nu mai sunt necesare și depășesc pragul de retenție
  • Reduce costurile de stocare în cloud

Diagramă reprezentând un tabel lakehouse cu două fișiere Parquet mari (active) și mai multe fișiere mici inactive, încă stocate. După rularea vacuum, fișierele vechi sunt eliminate

Transformă și analizează date cu Microsoft Fabric

Rularea Vacuum din exploratorul Lakehouse

Captură de ecran a comenzii Maintenance în exploratorul Lakehouse, evidențiind opțiunea Run VACUUM

Transformă și analizează date cu Microsoft Fabric

Să exersăm!

Transformă și analizează date cu Microsoft Fabric

Preparing Video For Download...