REORG TABLE
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Omorganisera en Delta Lake-tabell genom att skriva om filer för att rensa tillfälligt borttagna data, till exempel kolumndata som borttagits av ALTER TABLE DROP COLUMN.
Syntax
REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )
För Databricks Runtime-versioner före 15.4 TABLE
är ett obligatoriskt nyckelord.
Kommentar
-
APPLY (PURGE)
skriver bara om filer som innehåller mjukt borttagna data. -
APPLY (UPGRADE)
kan skriva om alla filer. -
REORG TABLE
är idempotent, vilket innebär att om den körs två gånger på samma datauppsättning har den andra körningen ingen effekt. - När du har kört
APPLY (PURGE)
kan de mjukt borttagna data fortfarande finnas i de gamla filerna. Du kan köra VACUUM för att fysiskt ta bort de gamla filerna.
Parametrar
-
Identifierar en befintlig Delta-tabell. Namnet får inte innehålla en temporal specifikation eller alternativspecifikation.
WHERE
predikatFör
APPLY (PURGE)
omorganiserar om filerna som matchar det angivna partitionspredikatet. Endast filter som omfattar partitionsnyckelattribut stöds.APPLY (PURGE)
Anger att syftet med filomskrivning är att rensa mjukt borttagna data. Se Rensa endast metadataborttagningar för att tvinga omskrivning av data.
APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))
Gäller för: Databricks SQL Databricks Runtime 14.3 och senare
Anger att syftet med filomskrivning är att uppgradera tabellen till den angivna Iceberg-versionen.
version
måste vara antingen1
eller2
.
Exempel
> 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));