Bagikan melalui


Menghilangkan fitur tabel Delta

Penting

Dukungan untuk menghilangkan fitur tabel Delta dan menurunkan versi protokol ada di Pratinjau Umum di Databricks Runtime 14.1 ke atas.

Azure Databricks menyediakan dukungan terbatas untuk menghilangkan fitur tabel. Untuk menghilangkan fitur tabel, hal berikut ini harus terjadi:

  • Nonaktifkan properti tabel yang menggunakan fitur tabel.
  • Hapus semua jejak fitur tabel dari file data yang mendukung tabel.
  • Hapus entri transaksi yang menggunakan fitur tabel dari log transaksi.
  • Menurunkan tingkat protokol tabel.

Jika didukung, Anda hanya boleh menggunakan fungsionalitas ini untuk mendukung kompatibilitas dengan versi Runtime Databricks sebelumnya, Berbagi Delta, atau klien pembaca atau penulis Delta Lake lainnya.

Penting

Semua DROP FEATURE operasi bertentangan dengan semua penulisan bersamaan.

Pembacaan streaming gagal saat mengalami penerapan yang mengubah metadata tabel. Jika Anda ingin aliran berlanjut, Anda harus memulai ulang. Untuk metode yang direkomendasikan, lihat Pertimbangan produksi untuk Streaming Terstruktur.

Bagaimana cara menghilangkan fitur tabel Delta?

Untuk menghapus fitur tabel Delta, Anda menjalankan ALTER TABLE <table-name> DROP FEATURE <feature-name> [TRUNCATE HISTORY] perintah. Lihat ALTER TABLE.

Anda harus menggunakan Databricks Runtime 14.1 atau lebih tinggi dan memiliki MODIFY hak istimewa pada tabel Delta target.

Fitur tabel Delta apa yang dapat dihilangkan?

Anda bisa menghilangkan fitur tabel Delta berikut ini:

Anda tidak dapat menghilangkan fitur tabel Delta lainnya.

Bagaimana fitur tabel Delta dihilangkan?

Karena fitur tabel Delta mewakili protokol pembaca dan penulis, mereka harus benar-benar tidak ada dari log transaksi untuk penghapusan penuh. Menjatuhkan fitur terjadi dalam dua tahap dan membutuhkan waktu untuk berlalu sebelum selesai. Spesifikasi penghapusan fitur bervariasi menurut fitur, tetapi bagian berikut memberikan gambaran umum.

Bersiap untuk menghilangkan fitur tabel

Selama tahap pertama, pengguna bersiap untuk menghilangkan fitur tabel. Berikut ini menjelaskan apa yang terjadi selama tahap ini:

  1. Pengguna menjalankan DROP FEATURE perintah .
  2. Properti tabel yang secara khusus mengaktifkan fitur tabel memiliki nilai yang diatur untuk menonaktifkan fitur.
  3. Properti tabel yang mengontrol perilaku yang terkait dengan fitur yang dihilangkan memiliki opsi yang diatur ke nilai default sebelum fitur diperkenalkan.
  4. Jika perlu, file data dan metadata ditulis ulang sehubungan dengan properti tabel yang diperbarui.
  5. Perintah selesai berjalan dan mengembalikan pesan kesalahan yang memberi tahu pengguna bahwa mereka harus menunggu 24 jam untuk melanjutkan penghapusan fitur.

Setelah terlebih dahulu menonaktifkan fitur, Anda dapat terus menulis ke tabel target sebelum menyelesaikan penurunan protokol, tetapi tidak dapat menggunakan fitur tabel yang Anda hapus.

Catatan

Jika Anda membiarkan tabel dalam status ini, operasi terhadap tabel tidak menggunakan fitur tabel, tetapi protokol masih mendukung fitur tabel. Hingga Anda menyelesaikan langkah penurunan tingkat akhir, tabel tidak dapat dibaca oleh klien Delta yang tidak memahami fitur tabel.

Menurunkan tingkat protokol dan menghilangkan fitur tabel

Untuk menghilangkan fitur tabel, Anda harus menghapus semua riwayat transaksi yang terkait dengan fitur dan menurunkan tingkat protokol.

  1. Setelah setidaknya 24 jam berlalu, pengguna menjalankan perintah lagi dengan TRUNCATE HISTORY klausaDROP FEATURE.
  2. Klien mengonfirmasi bahwa tidak ada transaksi dalam ambang retensi yang ditentukan menggunakan fitur tabel, lalu memotong riwayat tabel ke treshold tersebut.
  3. Protokol diturunkan tingkatnya, menghilangkan fitur tabel.
  4. Jika fitur tabel yang ada dalam tabel dapat diwakili oleh versi protokol warisan, minReaderVersion dan minWriterVersion untuk tabel diturunkan ke versi terendah yang mendukung semua fitur yang tersisa yang digunakan oleh tabel Delta.

Penting

Menjalankan ALTER TABLE <table-name> DROP FEATURE <feature-name> TRUNCATE HISTORY menghapus semua data log transaksi yang lebih lama dari 24 jam. Setelah menghilangkan fitur tabel Delta, Anda tidak memiliki akses ke riwayat tabel atau perjalanan waktu.

Lihat Bagaimana Azure Databricks mengelola kompatibilitas fitur Delta Lake?.