REORG-TABELL
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 mjukt borttagna data, till exempel kolumndata som släppts av ALTER TABLE DROP COLUMN.
Syntax
REORG TABLE table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )
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 någon temporal specifikation.
WHERE
PredikatFör
APPLY (PURGE)
omorganiserar de filer 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 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));