Freigeben über


REORG TABLE

Gilt für: Häkchen ja Databricks SQL Häkchen Databricks Runtime 11.3 LTS und höher

Ordnen Sie eine Delta Lake-Tabelle neu an, indem Sie Dateien neu schreiben, um vorläufige gelöschte Daten zu löschen, z. B. die Spaltendaten, die von ALTER TABLE DROP COLUMN gelöscht wurden.

Syntax

REORG TABLE table_name { [ WHERE predicate ] APPLY ( PURGE ) |
                         APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )

Hinweis

  • APPLY (PURGE) generiert nur Dateien erneut, die vorläufig gelöschte Daten enthalten.
  • APPLY (UPGRADE) generiert unter Umständen alle Dateien erneut.
  • REORG TABLE ist idempotent. Dies bedeutet, dass bei einer zweimaligen Ausführung für dasselbe Dataset der zweite Durchlauf keine Auswirkungen hat.
  • Nach dem Ausführen von APPLY (PURGE) sind die vorläufig gelöschten Daten möglicherweise noch in den alten Dateien vorhanden. Sie können VACUUM ausführen, um die alten Dateien physisch zu löschen.

Parameter

  • table_name

    Identifiziert eine vorhandene Delta-Tabelle. Der Name darf keine temporale Spezifikation enthalten.

  • WHEREPrädikat

    Organisiert bei APPLY (PURGE) die Dateien neu, die dem angegebenen Partitionsprädikat entsprechen. Es werden nur Filter unterstützt, die Partitionsschlüsselattribute enthalten.

  • APPLY (PURGE)

    Gibt an, dass der Zweck der Dateiumschreibung das Löschen von vorläufig gelöschten Daten ist. Weitere Informationen finden Sie unter Bereinigen von Nur-Metadaten-Löschvorgängen, um das Neuschreiben von Daten zu erzwingen.

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    Gilt für: Häkchen ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 14.3 und höher

    Gibt an, dass der Zweck der Dateiumschreibung das Aktualisieren der Tabelle auf die angegebene Iceberg-Version ist. version muss entweder 1 oder 2 sein.

Beispiele

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