Оптимізація таблиць Delta Lake

Перетворення та аналіз даних у Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

Що таке Delta Lake?

  • Відкритий шар зберігання для lakehouse
  • ACID‑транзакції, обробка метаданих і версіонування
  • Fabric використовує формат таблиць Delta Lake (Parquet) як стандарт
  • Сумісність між середовищами Fabric

Схема архітектури Fabric: дані надходять і зберігаються як таблиці Delta Lake, потім запитуються в Power BI

Перетворення та аналіз даних у Microsoft Fabric

Обслуговування таблиць

  • Підтримуйте delta‑таблиці в належному стані
  • Операції обслуговування таблиць:
    • Optimize
    • V-Order
    • Vacuum
Перетворення та аналіз даних у Microsoft Fabric

Optimize

  • Об'єднує багато малих файлів Parquet в один великий
    • Ідеальний розмір файлу: 128MB–1GB
    • Краще стиснення й розподіл → ефективні читання
    • Рекомендовано оптимізувати після завантаження великих таблиць

Схема: таблиця lakehouse з десятка малих файлів parquet оптимізується у два великі. Початкові файли стають неактивними

Перетворення та аналіз даних у Microsoft Fabric

Optimize

  • Об'єднує багато малих файлів Parquet в один великий
    • Ідеальний розмір файлу: 128MB–1GB
    • Краще стиснення й розподіл → ефективні читання
    • Рекомендовано оптимізувати після завантаження великих таблиць

Схема: таблиця lakehouse з десятка малих файлів parquet оптимізується у два великі. Початкові файли стають неактивними

Перетворення та аналіз даних у Microsoft Fabric

Запуск Optimize із Lakehouse explorer

Знімок екрана команди Maintenance у Lakehouse explorer з виділеною опцією Run OPTIMIZE command

Перетворення та аналіз даних у Microsoft Fabric

Запуск Optimize у Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Перетворення та аналіз даних у Microsoft Fabric

Запуск Optimize у PySpark

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Перетворення та аналіз даних у Microsoft Fabric

V-Order

  • Спеціальна оптимізація під час запису файлів Parquet
  • Увімкнено за замовчуванням
Перетворення та аналіз даних у Microsoft Fabric

Застосування V-Order у Lakehouse explorer

Знімок екрана команди Maintenance у Lakehouse explorer з виділеною опцією Apply V-ORDER

Перетворення та аналіз даних у Microsoft Fabric

Керування записом V-Order у сесії Apache Spark

  • Увімкніть V-Order для сесії

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

     

  • Вимкніть V-Order для сесії

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Перетворення та аналіз даних у Microsoft Fabric

Застосування V-Order під час оптимізації таблиці

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Перетворення та аналіз даних у Microsoft Fabric

Vacuum

  • Видаляє застарілі непотрібні файли, старші за поріг зберігання
  • Зменшує витрати на хмарне зберігання

Схема: таблиця lakehouse з двома великими активними файлами parquet і десятком малих неактивних у сховищі. Після vacuum старі файли видалено

Перетворення та аналіз даних у Microsoft Fabric

Vacuum

  • Видаляє застарілі непотрібні файли, старші за поріг зберігання
  • Зменшує витрати на хмарне зберігання

Схема: таблиця lakehouse з двома великими активними файлами parquet і десятком малих неактивних у сховищі. Після vacuum старі файли видалено

Перетворення та аналіз даних у Microsoft Fabric

Запуск Vacuum із Lakehouse explorer

Знімок екрана команди Maintenance у Lakehouse explorer з виділеною опцією Run VACUUM

Перетворення та аналіз даних у Microsoft Fabric

Давайте потренуємось!

Перетворення та аналіз даних у Microsoft Fabric

Preparing Video For Download...