Optimisasi tabel Delta Lake

Transformasi dan Analisis Data dengan Microsoft Fabric

Luis Silva

Solution Architect - Data & AI

Apa itu Delta Lake?

  • Lapisan penyimpanan open-source untuk lakehouse
  • Transaksi ACID, penanganan metadata, dan versioning
  • Fabric memakai format tabel Delta Lake (Parquet) sebagai standar
  • Interoperabilitas di seluruh pengalaman Fabric

Diagram arsitektur Fabric yang menunjukkan data diambil dan disimpan sebagai tabel Delta Lake lalu di-query dengan Power BI

Transformasi dan Analisis Data dengan Microsoft Fabric

Pemeliharaan tabel

  • Jaga tabel Delta tetap optimal
  • Operasi pemeliharaan tabel:
    • Optimize
    • V-Order
    • Vacuum
Transformasi dan Analisis Data dengan Microsoft Fabric

Optimize

  • Gabungkan banyak file Parquet kecil menjadi file besar
    • Ukuran ideal 128MB–1GB
    • Perbaiki kompresi dan distribusi, baca lebih efisien
    • Disarankan optimasi setelah memuat tabel besar

Diagram tabel lakehouse berisi belasan file parquet kecil yang dioptimalkan menjadi dua file parquet besar. File asli tetap tidak aktif

Transformasi dan Analisis Data dengan Microsoft Fabric

Optimize

  • Gabungkan banyak file Parquet kecil menjadi file besar
    • Ukuran ideal 128MB–1GB
    • Perbaiki kompresi dan distribusi, baca lebih efisien
    • Disarankan optimasi setelah memuat tabel besar

Diagram tabel lakehouse berisi belasan file parquet kecil yang dioptimalkan menjadi dua file parquet besar. File asli tetap tidak aktif

Transformasi dan Analisis Data dengan Microsoft Fabric

Menjalankan perintah Optimize dari penjelajah Lakehouse

Tangkapan layar perintah Maintenance di penjelajah Lakehouse, menyorot opsi Run OPTIMIZE command

Transformasi dan Analisis Data dengan Microsoft Fabric

Menjalankan perintah Optimize di Spark SQL

%%sql
OPTIMIZE <lakehouse>.<table>;
Transformasi dan Analisis Data dengan Microsoft Fabric

Menjalankan perintah Optimize di PySpark

from delta.tables import DeltaTable

dt = DeltaTable.forPath( spark, "Tables/<table>" )
dt.optimize().executeCompaction()
Transformasi dan Analisis Data dengan Microsoft Fabric

V-Order

  • Optimisasi khusus saat menulis file Parquet
  • Aktif secara default
Transformasi dan Analisis Data dengan Microsoft Fabric

Menerapkan V-Order dari penjelajah Lakehouse

Tangkapan layar perintah Maintenance di penjelajah Lakehouse, menyorot opsi Apply V-ORDER

Transformasi dan Analisis Data dengan Microsoft Fabric

Mengatur penulisan V-Order di sesi Apache Spark

  • Aktifkan V-Order untuk sesi

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

     

  • Nonaktifkan V-Order untuk sesi

    %%sql 
    SET spark.sql.parquet.vorder.enabled=FALSE
    
Transformasi dan Analisis Data dengan Microsoft Fabric

Menerapkan V-Order saat mengoptimalkan tabel

%%sql 
OPTIMIZE <table|fileOrFolderPath> VORDER;
Transformasi dan Analisis Data dengan Microsoft Fabric

Vacuum

  • Hapus file lama yang tidak lagi dibutuhkan dan lebih tua dari ambang retensi
  • Kurangi biaya penyimpanan cloud

Diagram tabel lakehouse yang terdiri dari dua file parquet besar aktif dan belasan file parquet kecil tak aktif namun masih tersimpan. Setelah vacuum dijalankan, file lama dihapus dari penyimpanan

Transformasi dan Analisis Data dengan Microsoft Fabric

Vacuum

  • Hapus file lama yang tidak lagi dibutuhkan dan lebih tua dari ambang retensi
  • Kurangi biaya penyimpanan cloud

Diagram tabel lakehouse yang terdiri dari dua file parquet besar aktif dan belasan file parquet kecil tak aktif namun masih tersimpan. Setelah vacuum dijalankan, file lama dihapus dari penyimpanan

Transformasi dan Analisis Data dengan Microsoft Fabric

Menjalankan Vacuum dari penjelajah Lakehouse

Tangkapan layar perintah Maintenance di penjelajah Lakehouse, menyorot opsi Run VACUUM

Transformasi dan Analisis Data dengan Microsoft Fabric

Ayo berlatih!

Transformasi dan Analisis Data dengan Microsoft Fabric

Preparing Video For Download...