REORG TABLE
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Omorganisera en Delta Lake-table genom att skriva om filer för att rensa tillfälligt borttagna data, till exempel column data som tagits bort 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.
Parameters
-
Identifierar en befintlig Delta table. Namnet får inte innehålla en temporal specifikation eller alternativspecifikation.
WHERE
predikatFör
APPLY (PURGE)
omorganiseras de filer som matchar det angivna partition predikat. Endast filter som omfattar partition nyckelattribut 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 table 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));