Optymalizacja tabel Delta Lake

Przekształcanie i analizowanie danych w Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

Czym jest Delta Lake?

  • Warstwa przechowywania open source dla lakehouse
  • Transakcje ACID, zarządzanie metadanymi i wersjonowanie
  • Fabric używa formatu Delta Lake (Parquet) jako standardu
  • Interoperacyjność między usługami Fabric

Diagram architektury Fabric przedstawiający dane pozyskiwane i przechowywane jako tabele Delta Lake, a następnie odpytywane za pomocą Power BI

Przekształcanie i analizowanie danych w Microsoft Fabric

Konserwacja tabel

  • Utrzymuje tabele delta w dobrej kondycji
  • Operacje konserwacji tabel:
    • Optimize
    • V-Order
    • Vacuum
Przekształcanie i analizowanie danych w Microsoft Fabric

Optimize

  • Konsoliduje małe pliki Parquet w jeden duży
    • Optymalny rozmiar pliku: 128 MB – 1 GB
    • Poprawia kompresję i dystrybucję, przyspieszając odczyty
    • Zalecane po załadowaniu dużych tabel

Diagram przedstawiający tabelę lakehouse złożoną z kilkunastu małych plików Parquet optymalizowanych do dwóch dużych. Oryginalne pliki pozostają nieaktywne

Przekształcanie i analizowanie danych w Microsoft Fabric

Optimize

  • Konsoliduje małe pliki Parquet w jeden duży
    • Optymalny rozmiar pliku: 128 MB – 1 GB
    • Poprawia kompresję i dystrybucję, przyspieszając odczyty
    • Zalecane po załadowaniu dużych tabel

Diagram przedstawiający tabelę lakehouse złożoną z kilkunastu małych plików Parquet optymalizowanych do dwóch dużych. Oryginalne pliki pozostają nieaktywne

Przekształcanie i analizowanie danych w Microsoft Fabric

Uruchamianie polecenia Optimize z eksploratora Lakehouse

Zrzut ekranu polecenia Maintenance w eksploratorze Lakehouse z wyróżnioną opcją Run OPTIMIZE command

Przekształcanie i analizowanie danych w Microsoft Fabric

Polecenie Optimize w Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Przekształcanie i analizowanie danych w Microsoft Fabric

Polecenie Optimize w PySpark

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Przekształcanie i analizowanie danych w Microsoft Fabric

V-Order

  • Specjalna optymalizacja podczas zapisu plików Parquet
  • Włączona domyślnie
Przekształcanie i analizowanie danych w Microsoft Fabric

Stosowanie V-Order z eksploratora Lakehouse

Zrzut ekranu polecenia Maintenance w eksploratorze Lakehouse z wyróżnioną opcją Apply V-ORDER

Przekształcanie i analizowanie danych w Microsoft Fabric

Sterowanie zapisem V-Order w sesji Apache Spark

  • Włącz V-Order dla sesji

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

     

  • Wyłącz V-Order dla sesji

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Przekształcanie i analizowanie danych w Microsoft Fabric

Stosowanie V-Order podczas optymalizacji tabeli

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Przekształcanie i analizowanie danych w Microsoft Fabric

Vacuum

  • Usuwa starsze pliki, które nie są już potrzebne i przekraczają próg retencji
  • Obniża koszty przechowywania w chmurze

Diagram przedstawiający tabelę lakehouse złożoną z dwóch dużych aktywnych plików Parquet i kilkunastu małych nieaktywnych plików. Po uruchomieniu vacuum starsze pliki są usuwane

Przekształcanie i analizowanie danych w Microsoft Fabric

Vacuum

  • Usuwa starsze pliki, które nie są już potrzebne i przekraczają próg retencji
  • Obniża koszty przechowywania w chmurze

Diagram przedstawiający tabelę lakehouse złożoną z dwóch dużych aktywnych plików Parquet i kilkunastu małych nieaktywnych plików. Po uruchomieniu vacuum starsze pliki są usuwane

Przekształcanie i analizowanie danych w Microsoft Fabric

Uruchamianie Vacuum z eksploratora Lakehouse

Zrzut ekranu polecenia Maintenance w eksploratorze Lakehouse z wyróżnioną opcją Run VACUUM

Przekształcanie i analizowanie danych w Microsoft Fabric

Czas na ćwiczenia!

Przekształcanie i analizowanie danych w Microsoft Fabric

Preparing Video For Download...