Optimalizace tabulek Delta Lake

Transform and Analyze Data with Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

Co je Delta Lake?

  • Open source úložná vrstva pro lakehousy
  • ACID transakce, správa metadat a verzování
  • Fabric používá formát tabulek Delta Lake (Parquet) jako standard
  • Interoperabilita napříč prostředími Fabric

Diagram architektury Fabric znázorňující data přijatá a uložená jako tabulky Delta Lake a dotazovaná pomocí Power BI

Transform and Analyze Data with Microsoft Fabric

Údržba tabulek

  • Udržování delta tabulek v optimálním stavu
  • Operace údržby tabulek:
    • Optimize
    • V-Order
    • Vacuum
Transform and Analyze Data with Microsoft Fabric

Optimize

  • Sloučení více malých souborů Parquet do jednoho velkého
    • Ideální velikost souboru: 128 MB až 1 GB
    • Zlepšení komprese a distribuce pro efektivní čtení
    • Doporučeno optimalizovat po načtení velkých tabulek

Diagram znázorňující tabulku lakehouse složenou z desítek malých souborů Parquet optimalizovaných do dvou velkých souborů Parquet. Původní soubory zůstávají neaktivní

Transform and Analyze Data with Microsoft Fabric

Optimize

  • Sloučení více malých souborů Parquet do jednoho velkého
    • Ideální velikost souboru: 128 MB až 1 GB
    • Zlepšení komprese a distribuce pro efektivní čtení
    • Doporučeno optimalizovat po načtení velkých tabulek

Diagram znázorňující tabulku lakehouse složenou z desítek malých souborů Parquet optimalizovaných do dvou velkých souborů Parquet. Původní soubory zůstávají neaktivní

Transform and Analyze Data with Microsoft Fabric

Spuštění příkazu Optimize z průzkumníku Lakehouse

Snímek obrazovky příkazu Maintenance v průzkumníku Lakehouse se zvýrazněnou možností Run OPTIMIZE command

Transform and Analyze Data with Microsoft Fabric

Spuštění příkazu Optimize ve Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Transform and Analyze Data with Microsoft Fabric

Spuštění příkazu Optimize v PySparku

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Transform and Analyze Data with Microsoft Fabric

V-Order

  • Speciální optimalizace při zápisu souborů Parquet
  • Ve výchozím nastavení povolena
Transform and Analyze Data with Microsoft Fabric

Použití V-Order z průzkumníku Lakehouse

Snímek obrazovky příkazu Maintenance v průzkumníku Lakehouse se zvýrazněnou možností Apply V-ORDER

Transform and Analyze Data with Microsoft Fabric

Řízení zápisu V-Order v relaci Apache Spark

  • Povolení V-Order pro relaci

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

     

  • Zakázání V-Order pro relaci

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Transform and Analyze Data with Microsoft Fabric

Použití V-Order při optimalizaci tabulky

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Transform and Analyze Data with Microsoft Fabric

Vacuum

  • Odstranění starších souborů, které již nejsou potřebné a jsou starší než prahová hodnota uchování
  • Snížení nákladů na cloudové úložiště

Diagram znázorňující tabulku lakehouse složenou ze dvou velkých souborů Parquet označených jako aktivní a desítek malých souborů Parquet, které již nejsou aktivní, ale stále jsou v úložišti. Po spuštění příkazu vacuum jsou starší soubory z úložiště odstraněny

Transform and Analyze Data with Microsoft Fabric

Vacuum

  • Odstranění starších souborů, které již nejsou potřebné a jsou starší než prahová hodnota uchování
  • Snížení nákladů na cloudové úložiště

Diagram znázorňující tabulku lakehouse složenou ze dvou velkých souborů Parquet označených jako aktivní a desítek malých souborů Parquet, které již nejsou aktivní, ale stále jsou v úložišti. Po spuštění příkazu vacuum jsou starší soubory z úložiště odstraněny

Transform and Analyze Data with Microsoft Fabric

Spuštění příkazu Vacuum z průzkumníku Lakehouse

Snímek obrazovky příkazu Maintenance v průzkumníku Lakehouse se zvýrazněnou možností Run VACUUM

Transform and Analyze Data with Microsoft Fabric

Pojďme si procvičit!

Transform and Analyze Data with Microsoft Fabric

Preparing Video For Download...