Delta Lake-tabeloptimalisatie

Gegevens transformeren en analyseren met Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

Wat is Delta Lake?

  • Open-source opslaglaag voor lakehouses
  • ACID-transacties, metadatabeheer en versiebeheer
  • Fabric gebruikt Delta Lake-tabelindeling (Parquet) als standaard
  • Interoperabiliteit tussen Fabric-ervaringen

Diagram van de Fabric-architectuur met data die als Delta Lake-tabellen worden ingeladen/opgeslagen en met Power BI bevraagd

Gegevens transformeren en analyseren met Microsoft Fabric

Tabelonderhoud

  • Houd Delta-tabellen in vorm
  • Tabelonderhoud:
    • Optimize
    • V-Order
    • Vacuum
Gegevens transformeren en analyseren met Microsoft Fabric

Optimize

  • Bundel meerdere kleine Parquet-bestanden tot één groot bestand
    • Ideale bestandsgrootte: 128 MB–1 GB
    • Betere compressie en verdeling voor efficiënt lezen
    • Aanraden na het laden van grote tabellen

Diagram van een lakehouse-tabel met vele kleine parquet-bestanden die worden geoptimaliseerd tot twee grote; de originelen blijven inactief

Gegevens transformeren en analyseren met Microsoft Fabric

Optimize

  • Bundel meerdere kleine Parquet-bestanden tot één groot bestand
    • Ideale bestandsgrootte: 128 MB–1 GB
    • Betere compressie en verdeling voor efficiënt lezen
    • Aanraden na het laden van grote tabellen

Diagram van een lakehouse-tabel met vele kleine parquet-bestanden die worden geoptimaliseerd tot twee grote; de originelen blijven inactief

Gegevens transformeren en analyseren met Microsoft Fabric

De Optimize-opdracht uitvoeren via Lakehouse Explorer

Screenshot van het Maintenance-commando in de Lakehouse Explorer, met de optie Run OPTIMIZE command gemarkeerd

Gegevens transformeren en analyseren met Microsoft Fabric

De Optimize-opdracht uitvoeren in Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Gegevens transformeren en analyseren met Microsoft Fabric

De Optimize-opdracht uitvoeren in PySpark

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Gegevens transformeren en analyseren met Microsoft Fabric

V-Order

  • Speciale optimalisatie bij het schrijven van Parquet-bestanden
  • Standaard ingeschakeld
Gegevens transformeren en analyseren met Microsoft Fabric

V-Order toepassen via Lakehouse Explorer

Screenshot van het Maintenance-commando in de Lakehouse Explorer, met de optie Apply V-ORDER gemarkeerd

Gegevens transformeren en analyseren met Microsoft Fabric

V-Order schrijven beheren in een Apache Spark-sessie

  • V-Order voor de sessie inschakelen

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

     

  • V-Order voor de sessie uitschakelen

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Gegevens transformeren en analyseren met Microsoft Fabric

V-Order toepassen tijdens het optimaliseren van een tabel

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Gegevens transformeren en analyseren met Microsoft Fabric

Vacuum

  • Verwijder oude, overbodige bestanden ouder dan de retentiedrempel
  • Verlaag cloudopslagkosten

Diagram van een lakehouse-tabel met twee grote actieve parquet-bestanden en meerdere kleine inactieve bestanden die na vacuum uit opslag worden verwijderd

Gegevens transformeren en analyseren met Microsoft Fabric

Vacuum

  • Verwijder oude, overbodige bestanden ouder dan de retentiedrempel
  • Verlaag cloudopslagkosten

Diagram van een lakehouse-tabel met twee grote actieve parquet-bestanden en meerdere kleine inactieve bestanden die na vacuum uit opslag worden verwijderd

Gegevens transformeren en analyseren met Microsoft Fabric

Vacuum uitvoeren via Lakehouse Explorer

Screenshot van het Maintenance-commando in de Lakehouse Explorer, met de optie Run VACUUM gemarkeerd

Gegevens transformeren en analyseren met Microsoft Fabric

Laten we oefenen!

Gegevens transformeren en analyseren met Microsoft Fabric

Preparing Video For Download...