Pengoptimalan prediktif untuk tabel terkelola Katalog Unity

Pengoptimalan prediktif secara otomatis menjalankan OPTIMIZE, VACUUM, dan ANALYZE pada tabel terkelola Unity Catalog (Delta Lake dan Iceberg) pada Azure Databricks, menghilangkan pemeliharaan manual dan waktu yang dihabiskan untuk melacak masalah performa.

Catatan

Pengoptimalan prediktif diaktifkan secara default untuk akun yang dibuat pada atau setelah 11 November 2024. Databricks mengaktifkan akun yang sudah ada secara bertahap. Peluncuran ini diperkirakan akan selesai pada Agustus 2026. Untuk memeriksa apakah akun Anda sudah diaktifkan, lihat Memverifikasi apakah pengoptimalan prediktif diaktifkan.

Dengan pengoptimalan prediktif diaktifkan, Databricks secara otomatis melakukan hal berikut:

  • Mengidentifikasi tabel yang akan mendapat manfaat dari operasi pemeliharaan dan mengantrekan operasi tersebut untuk dijalankan.
  • Mengumpulkan statistik saat data ditulis ke tabel terkelola.

Ini menghilangkan eksekusi pemeliharaan yang tidak perlu dan beban pelacakan dan performa pemecahan masalah secara manual.

Databricks merekomendasikan pengoptimalan prediktif untuk semua tabel terkelola Unity Catalog. Misalnya, pengklusteran cairan otomatis menggunakan pengoptimalan cerdas tata letak data berdasarkan pola penggunaan data Anda. Lihat Menggunakan pengklusteran cair untuk tabel.

Operasi apa yang dijalankan pengoptimalan prediktif?

Pengoptimalan prediktif menjalankan operasi berikut pada tabel terkelola Unity Catalog:

Operasi Deskripsi
OPTIMIZE Memicu pengklusteran inkremental untuk tabel yang diaktifkan. Lihat Menggunakan pengklusteran cair untuk tabel. Meningkatkan performa kueri dengan mengoptimalkan ukuran file. Lihat Optimalkan tata letak file data.
VACUUM Mengurangi biaya penyimpanan dengan menghapus file data tidak lagi direferensikan oleh tabel. Pada tabel dengan bacaan Iceberg diaktifkan, juga membersihkan file metadata Iceberg yang tidak dapat diakses. Lihat Menghapus file data yang tidak digunakan dengan vacuum dan VACUUM pembersihan metadata Iceberg.
ANALYZE Memindai tabel dan mengumpulkan statistik untuk meningkatkan performa kueri. Lihat ANALYZE TABLE ... STATISTIK KOMPUTASI. Untuk menghapus statistik yang dikumpulkan oleh pengoptimalan prediktif, lihat ANALYZE TABLE ... HILANGKAN STATISTIK.

Catatan

OPTIMIZE tidak berjalan ZORDER ketika dieksekusi oleh pengoptimalan prediktif. Pada tabel yang menggunakan urutan Z, pengoptimalan prediktif mengabaikan file yang diurutkan Z.

Jika pengklusteran cair otomatis diaktifkan, pengoptimalan prediktif mungkin memilih kunci pengklusteran baru sebelum pengklusteran data. Lihat pengklusteran cairan otomatis.

Peringatan

Jendela retensi untuk VACUUM ditentukan oleh delta.deletedFileRetentionDuration properti tabel, yang defaultnya menjadi 7 hari. VACUUM menghapus file data yang tidak lagi dirujuk oleh versi tabel Delta dalam jendela tersebut. Untuk menyimpan data untuk durasi yang lebih lama (misalnya, untuk mendukung perjalanan waktu yang diperpanjang), atur properti ini sebelum Anda mengaktifkan pengoptimalan prediktif:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

Komputasi dan penagihan

Pengoptimalan prediktif menjalankan ANALYZE, OPTIMIZE, dan VACUUM operasi menggunakan komputasi tanpa server untuk tugas. Akun Anda ditagih untuk komputasi ini menggunakan SKU pekerjaan tanpa server.

Lihat harga untuk layanan terkelola Databricks. Lihat Melacak pengoptimalan prediktif dengan tabel sistem.

Prasyarat

Persyaratan berikut harus dipenuhi untuk menggunakan pengoptimalan prediktif:

  • Ruang kerja Azure Databricks Anda harus berada di paket Premium di wilayah yang didukung.
  • Anda harus menggunakan gudang SQL atau Databricks Runtime 12.2 LTS atau lebih tinggi.
  • Hanya tabel terkelola Unity Catalog yang didukung.

Mengaktifkan pengoptimalan prediktif

Anda dapat mengaktifkan pengoptimalan prediktif untuk akun, katalog, skema, atau tabel. Semua tabel terkelola Unity Catalog mewarisi nilai akun secara default. Anda dapat mengganti default akun pada tingkat katalog, skema, atau tabel.

Anda harus memiliki hak istimewa berikut untuk mengaktifkan atau menonaktifkan pengoptimalan prediktif:

Objek Katalog Unity Hak Istimewa
Akun Administrator akun
Katalog Pemilik katalog, atau pengguna dengan MANAGE hak istimewa pada katalog
Skema Pemilik skema, atau pengguna dengan MANAGE hak istimewa pada skema
Tabel Pemilik tabel, atau pengguna dengan MANAGE hak istimewa pada tabel

Mengaktifkan atau menonaktifkan pengoptimalan prediktif untuk akun Anda

Administrator akun dapat mengaktifkan pengoptimalan prediktif untuk semua metastore dalam akun. Katalog dan skema mewarisi pengaturan ini secara default, tetapi Anda dapat mengambil alihnya di salah satu tingkat.

  1. Buka konsol akun.
  2. Navigasi ke Pengaturan, lalu Pengaktifan fitur.
  3. Pilih opsi yang Anda inginkan (misalnya, Diaktifkan) di samping Pengoptimalan prediktif.

Catatan

  • Metastore di wilayah yang tidak mendukung pengoptimalan prediktif tidak diaktifkan.
  • Menonaktifkan pengoptimalan prediktif di tingkat akun tidak menonaktifkannya untuk katalog atau skema yang telah mengaktifkannya secara khusus.

Mengaktifkan atau menonaktifkan pengoptimalan prediktif untuk katalog, skema, atau tabel

Pengoptimalan prediktif menggunakan model pewarisan. Saat diaktifkan untuk katalog, skema dalam katalog tersebut mewarisi pengaturan, dan tabel dalam skema yang diaktifkan juga mewarisinya. Anda dapat secara eksplisit mengaktifkan atau menonaktifkan pengoptimalan prediktif untuk katalog, skema, atau tabel untuk mengambil alih perilaku ini.

Catatan

Anda dapat menonaktifkan pengoptimalan prediktif di tingkat katalog, skema, atau tabel sebelum mengaktifkannya di tingkat akun. Jika pengoptimalan prediktif kemudian diaktifkan di tingkat akun, pengoptimalan tetap diblokir untuk objek yang telah secara khusus menonaktifkannya.

Gunakan sintaks berikut untuk mengaktifkan, menonaktifkan, atau mengatur ulang pengoptimalan prediktif untuk mewarisi dari objek induk:

ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER TABLE table_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;

Lihat ALTER TABLE.

Verifikasi apakah pengoptimalan prediktif diaktifkan

Bidang Predictive Optimization adalah properti Katalog Unity yang menunjukkan apakah pengoptimalan prediktif diaktifkan. Jika pengaturan diwarisi dari objek induk, nilai bidang menunjukkan ini.

Gunakan sintaks berikut untuk memeriksa status:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Periksa mengapa pengoptimalan prediktif melewati tabel

Pada Databricks Runtime versi 18 LTS dan yang lebih baru, setelah optimalisasi prediktif mengevaluasi tabel terkelola, Anda dapat mengetahui alasan suatu operasi dilewati dengan dua cara:

  • Kueri tabel dengan DESCRIBE TABLE EXTENDED ... AS JSON.
  • Gunakan tab Riwayat di Catalog Explorer.

Hasil mungkin memakan waktu hingga 24 jam untuk muncul.

Gunakan DESCRIBE TABLE EXTENDED ... AS JSON

DESCRIBE TABLE EXTENDED ... AS JSON mengembalikan sebuah field predictive_optimization_evaluations dalam output. Bidang ini mencantumkan setiap jenis operasi dan hasil evaluasi terbaru untuknya.

Untuk memeriksa hasil evaluasi untuk tabel, jalankan hal berikut:

DESCRIBE TABLE EXTENDED catalog_name.schema_name.table_name AS JSON

Bidang predictive_optimization_evaluations menunjukkan hasil terbaru untuk setiap jenis operasi. Hanya evaluasi terbaru yang ditampilkan tanpa riwayat. Jenis operasi meliputi:

  • COMPACTION
  • CLUSTERING
  • AUTO_CLUSTERING_COLUMN_SELECTION
  • VACUUM

Hasil evaluasi tidak menampilkan alasan pelompatan untuk operasi ANALYZE.

Menggunakan tab riwayat di Catalog Explorer

Anda dapat melihat alasan lewati di tab Riwayat untuk tabel di Catalog Explorer. Di kolom Operasi , label Otomatis menunjukkan operasi berjalan, dan label Tidak diterapkan menunjukkan operasi dilewati. Label Otomatis mencakup pengoptimalan prediktif dan operasi otomatis lainnya, seperti pemadatan otomatis streaming.

Untuk melihat alasan lewati, klik baris dengan label Tidak diterapkan di kolom Operasi .

Tab riwayat Penjelajah Katalog yang menampilkan alasan pengabaian pengoptimalan prediktif

Tabel berikut menunjukkan bagaimana jenis operasi dalam output DESCRIBE TABLE EXTENDED dipetakan ke operasi yang ditampilkan di Catalog Explorer:

DESCRIBE TABLE EXTENDED jenis operasi Operasi Penjelajah Katalog Deskripsi
COMPACTION OPTIMIZE Pemadatan file untuk meningkatkan performa kueri
CLUSTERING OPTIMIZE Pengelompokan cairan inkremental
AUTO_CLUSTERING_COLUMN_SELECTION AUTO LIQUID Evaluasi atau evolusi kunci pengklusteran cair
VACUUM VACUUM Penghapusan file data yang tidak lagi dirujuk oleh tabel

Melacak pengoptimalan prediktif dengan tabel sistem

Databricks menyediakan tabel system.storage.predictive_optimization_operations_history sistem untuk pemantauan operasi pengoptimalan prediktif, biaya, dan dampaknya. Lihat referensi tabel sistem pengoptimalan prediktif .

Jika tabel sistem menandai operasi sebagai gagal dengan FAILED: PRIVATE_LINK_SETUP_ERROR, tautan privat tanpa server mungkin tidak dikonfigurasi dengan benar. Lihat Mengonfigurasi konektivitas privat ke sumber daya Azure.

Batasan

Pengoptimalan prediktif tidak berjalan pada jenis tabel berikut:

  • Tabel dimuat ke ruang kerja sebagai penerima OpenSharing
  • Tabel eksternal