Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tersedia di Databricks Runtime 14.1 ke atas, pelacakan baris menetapkan ID baris yang stabil dan versi penerapan baris ke setiap baris, memungkinkan pelacakan silsilah baris. Beberapa pembaruan inkremental untuk tampilan materialisasi memerlukan fitur ini.
Semua tabel Apache Iceberg v3 menyertakan pelacakan baris. Lihat Menggunakan fitur Apache Iceberg v3. Untuk tabel Delta Lake, Anda harus secara eksplisit mengaktifkan pelacakan baris.
Note
Mengaktifkan pelacakan baris meningkatkan protokol penulis tabel dan dapat memengaruhi kompatibilitas dengan klien Delta Lake eksternal. Lihat Kompatibilitas dan protokol fitur Delta Lake.
Mengaktifkan pelacakan baris pada tabel Delta Lake
Untuk mengaktifkan pelacakan baris pada tabel Delta Lake, atur properti delta.enableRowTracking = true tabel selama pembuatan tabel:
CREATE TABLE table_name
TBLPROPERTIES (delta.enableRowTracking = true)
AS SELECT * FROM source_table;
Untuk mengaktifkan pelacakan baris pada tabel Delta Lake yang sudah ada, gunakan contoh berikut:
ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = true);
Important
Mengaktifkan pelacakan baris pada tabel yang ada secara otomatis menerapkan ID baris dan versi komit baris ke semua baris yang sudah ada dalam tabel. Proses ini dapat mengakibatkan pembuatan beberapa versi baru tabel dan membutuhkan waktu yang cukup lama untuk diselesaikan.
Peringatan
Jika tabel Anda adalah target untuk penulisan berkelanjutan, seperti beban kerja Streaming Terstruktur, jeda operasi tulis sebelum mengaktifkan pelacakan baris dan melanjutkan setelah operasi selesai. Menggunakan ALTER TABLE untuk mengaktifkan pelacakan baris akan memperbarui metadata tabel, sehingga setiap operasi penulisan serentak gagal dengan MetadataChangedException selama operasi berlangsung. Lihat Pengecualian konflik.
Mengkloning tabel membuat riwayat terpisah, sehingga ID baris dan versi penerapan baris pada tabel kloning tidak cocok dengan yang ada di tabel asli.
Bidang metadata
Pelacakan baris menambahkan dua bidang metadata tersembunyi ke tabel. Anda bisa secara eksplisit menambahkan bidang ini ke kueri Anda untuk mengembalikan nilai.
| Nama kolom | Type | Values | Explanation |
|---|---|---|---|
_metadata.row_id |
Long | Pengidentifikasi baris yang unik. | Baris menyimpan ID yang sama setiap kali dimodifikasi menggunakan pernyataan MERGE atau UPDATE. |
_metadata.row_commit_version |
Long | Log Delta atau versi tabel tempat baris terakhir disisipkan atau diperbarui. | Baris diberikan versi baru setiap kali dimodifikasi menggunakan pernyataan MERGE atau UPDATE. |
Beberapa operasi menyimpan bidang metadata ini menggunakan log transaksi. Menjalankan perintah OPTIMIZE atau REORG pada tabel dengan pelacakan baris diaktifkan menulis ulang file data untuk menyimpan elemen-elemen ini.
Menonaktifkan pelacakan baris pada tabel Delta Lake
Untuk menonaktifkan pelacakan baris pada tabel Delta Lake, atur properti tabel ke false.
ALTER TABLE table_name SET TBLPROPERTIES (delta.enableRowTracking = false);
Important
Menonaktifkan pelacakan baris tidak menghapus fitur tabel yang sesuai dan tidak menurunkan versi protokol tabel. Ini juga tidak menghapus bidang metadata dari tabel target. Untuk sepenuhnya menghapus fitur tabel dan menurunkan tingkat protokol, gunakan DROP FEATURE. Lihat Menghilangkan fitur tabel Delta Lake dan menurunkan protokol tabel.
Setelah menonaktifkan pelacakan baris, ID baris yang dihasilkan tidak lagi dapat diandalkan untuk melacak baris unik.
Keterbatasan
ID baris dan bidang metadata versi penerapan baris tidak dapat diakses saat membaca umpan data perubahan. Lihat Menggunakan umpan data perubahan pada Azure Databricks.