REORG TABLE
Berlaku untuk: Databricks SQL Databricks Runtime 11.3 LTS ke atas
Mengatur ulang tabel Delta Lake dengan menulis ulang file untuk menghapus menyeluruh data yang dihapus sementara, seperti data kolom yang dihilangkan oleh ALTER TABLE DROP COLUMN.
Sintaksis
REORG TABLE table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )
Catatan
APPLY (PURGE)
hanya menulis ulang file yang berisi data yang dihapus sementara.APPLY (UPGRADE)
dapat menulis ulang semua file.REORG TABLE
bersifat idempogen, yang berarti bahwa jika dijalankan dua kali pada himpunan data yang sama, eksekusi kedua tidak berpengaruh.- Setelah menjalankan
APPLY (PURGE)
, data yang dihapus sementara mungkin masih ada di file lama. Anda dapat menjalankan VACUUM untuk menghapus file lama secara fisik.
Parameter
-
Mengidentifikasi tabel Delta yang sudah ada. Nama tidak boleh menyertakan spesifikasi temporal.
WHERE
predicateUntuk
APPLY (PURGE)
, mengatur ulang file yang cocok dengan predikat partisi yang diberikan. Hanya filter yang melibatkan atribut kunci partisi saja yang didukung.APPLY (PURGE)
Menentukan bahwa tujuan penulisan ulang file adalah untuk menghapus menyeluruh data yang dihapus sementara. Lihat Menghapus menyeluruh penghapusan khusus metadata untuk memaksa penulisan ulang data.
APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))
Berlaku untuk: Databricks Runtime 14.3 ke atas
Menentukan bahwa tujuan penulisan ulang file adalah untuk meningkatkan tabel ke versi Iceberg yang diberikan.
version
harus berupa1
atau2
.
Contoh
> REORG TABLE events APPLY (PURGE);
> REORG TABLE events WHERE date >= '2022-01-01' APPLY (PURGE);
> REORG TABLE events
WHERE date >= current_timestamp() - INTERVAL '1' DAY
APPLY (PURGE);
> REORG TABLE events APPLY (UPGRADE UNIFORM(ICEBERG_COMPAT_VERSION=2));