REORG TABLE
Gilt für: Databricks SQL 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
-
Identifiziert eine vorhandene Delta-Tabelle. Der Name darf keine temporale Spezifikation enthalten.
WHERE
PrädikatOrganisiert 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: Databricks SQL 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 entweder1
oder2
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));