Apa itu I/O prediktif?
I/O prediktif adalah kumpulan pengoptimalan Azure Databricks yang meningkatkan performa untuk interaksi data. Kemampuan I/O prediktif dikelompokkan ke dalam kategori berikut:
- Pembacaan yang dipercepat mengurangi waktu yang diperlukan untuk memindai dan membaca data.
- Pembaruan yang dipercepat mengurangi jumlah data yang perlu ditulis ulang selama pembaruan, penghapusan, dan penggabungan.
I/O prediktif eksklusif untuk mesin Photon di Azure Databricks.
Menggunakan I/O prediktif untuk mempercepat bacaan
I/O prediktif digunakan untuk mempercepat pemindaian data dan performa pemfilteran untuk semua operasi pada jenis komputasi yang didukung.
Penting
Pembacaan I/O prediktif didukung oleh jenis gudang SQL tanpa server dan pro, dan kluster yang dipercepat Photon yang menjalankan Databricks Runtime 11.3 LTS ke atas.
I/O prediktif meningkatkan performa pemindaian dengan menerapkan teknik pembelajaran mendalam untuk melakukan hal berikut:
- Tentukan pola akses yang paling efisien untuk membaca data dan hanya memindai data yang benar-benar diperlukan.
- Hilangkan dekode kolom dan baris yang tidak diperlukan untuk menghasilkan hasil kueri.
- Hitung probabilitas kriteria pencarian dalam kueri selektif yang cocok dengan baris. Saat kueri berjalan, kami menggunakan probabilitas ini untuk mengantisipasi di mana baris pencocokan berikutnya akan terjadi dan hanya membaca data tersebut dari penyimpanan cloud.
Menggunakan I/O prediktif untuk mempercepat pembaruan
I/O prediktif untuk pembaruan digunakan secara otomatis untuk semua tabel yang mengaktifkan vektor penghapusan menggunakan jenis komputasi dengan dukungan Photon berikut:
- Gudang SQL tanpa server.
- Gudang Pro SQL.
- Kluster yang menjalankan Databricks Runtime 14.0 ke atas.
Catatan
Dukungan untuk I/O prediktif untuk pembaruan ada di Databricks Runtime 12.2 LTS ke atas, tetapi Databricks merekomendasikan penggunaan 14.0 ke atas untuk performa terbaik.
Lihat Apa itu vektor penghapusan?.
Penting
Pengaturan admin ruang kerja mengontrol apakah vektor penghapusan diaktifkan secara otomatis untuk tabel Delta baru. Lihat Mengaktifkan vektor penghapusan secara otomatis.
Anda mengaktifkan dukungan untuk vektor penghapusan pada tabel Delta Lake dengan mengatur properti tabel Delta Lake. Anda mengaktifkan vektor penghapusan selama pembuatan tabel atau mengubah tabel yang sudah ada, seperti dalam contoh berikut:
CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
Peringatan
Saat Anda mengaktifkan vektor penghapusan, versi protokol tabel ditingkatkan. Setelah memutakhirkan, tabel tidak akan dapat dibaca oleh klien Delta Lake yang tidak mendukung vektor penghapusan. Lihat Bagaimana Azure Databricks mengelola kompatibilitas fitur Delta Lake?.
Untuk daftar klien yang mendukung vektor penghapusan, lihat Kompatibilitas dengan klien Delta.
Di Databricks Runtime 14.1 ke atas, Anda dapat menghilangkan fitur tabel vektor penghapusan untuk mengaktifkan kompatibilitas dengan klien Delta lainnya. Lihat Menghilangkan fitur tabel Delta.
I/O prediktif memanfaatkan vektor penghapusan untuk mempercepat pembaruan dengan mengurangi frekuensi penulisan ulang file penuh selama modifikasi data pada tabel Delta. I/O prediktif mengoptimalkan DELETE
operasi , MERGE
, dan UPDATE
.
Daripada menulis ulang semua rekaman dalam file data ketika rekaman apa pun diperbarui atau dihapus, I/O prediktif menggunakan vektor penghapusan untuk menunjukkan rekaman telah dihapus dari file data target. File data tambahan digunakan untuk menunjukkan pembaruan.
Bacaan berikutnya pada tabel menyelesaikan status tabel saat ini dengan menerapkan perubahan yang dicatat ke versi tabel terbaru.
Penting
Pembaruan I/O prediktif berbagi semua batasan dengan vektor penghapusan. Di Databricks Runtime 12.2 LTS dan yang lebih besar, batasan berikut ada:
- Berbagi Delta tidak didukung pada tabel dengan vektor penghapusan diaktifkan.
- Anda tidak dapat membuat file manifes untuk tabel dengan vektor penghapusan yang ada. Jalankan
REORG TABLE ... APPLY (PURGE)
dan pastikan tidak ada operasi tulis bersamaan yang berjalan untuk menghasilkan manifes. - Anda tidak dapat secara bertahap membuat file manifes untuk tabel dengan vektor penghapusan diaktifkan.