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 soft-gelöschte Daten zu löschen, z. B. die von ALTER TABLE DROP COLUMN verworfenen Spaltendaten, oder indem Sie Delta Lake-Prüfpunkte erstellen, um die Metadatenverwaltung zu verbessern.

Syntax

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

Für Databricks-Runtime-Versionen vor 15.4 TABLE ist ein obligatorisches Schlüsselwort.

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 ausführen VACUUM , um die alten Dateien physisch zu löschen.
  • APPLY (CHECKPOINT) erfordert, dass die Tabelle den Prüfpunkt V2 aktiviert hat, um Beschädigungen aufgrund von Rennbedingungen zu verhindern.
  • APPLY (SET PARQUET (FORMAT_VERSION)) Schreibt alle Datendateien mithilfe der angegebenen Formatversion des Parkettformats neu.

Parameter

  • table_name

    Identifiziert eine vorhandene Delta-Tabelle. Der Name darf keine zeitliche Spezifikation oder Optionsspezifikation enthalten.

  • WHERE Prä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 darin besteht, die Tabelle auf die angegebene Apache Iceberg-Version zu aktualisieren. version muss entweder 1 oder 2 sein.

  • APPLY (CHECKPOINT)

    Gilt für:mit Häkchen markiert ja Databricks Runtime 16.3 und höher

    Führt die Delta-Prüfpunkte für die neueste Delta-Version der Tabelle aus.

  • APPLY (SET PARQUET ( FORMAT_VERSION = version ))

    Gilt für:check marked yes Databricks Runtime 18.2 und höher

    Schreibt alle Datendateien mithilfe der angegebenen Version des Parkettformats neu und aktualisiert die delta.parquet.format.version Tabelleneigenschaft. version muss sein ’1.0.0’ oder ’2.12.0’.

    Siehe Parkett v2.

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

> REORG TABLE events APPLY (CHECKPOINT);

> REORG TABLE events APPLY (SET PARQUET (FORMAT_VERSION = '2.12.0'));