REORG TABLE

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya 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

  • table_name

    Mengidentifikasi tabel Delta yang sudah ada. Nama tidak boleh menyertakan spesifikasi temporal.

  • WHEREpredicate

    Untuk 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:centang ditandai ya Databricks Runtime 14.3 ke atas

    Menentukan bahwa tujuan penulisan ulang file adalah untuk meningkatkan tabel ke versi Iceberg yang diberikan. version harus berupa 1 atau 2.

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));