Dela via


REORG-TABELL

Gäller för:markerad ja Databricks SQL markerad ja 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

  • Table_name

    Identifierar en befintlig Delta-tabell. Namnet får inte innehålla någon temporal specifikation.

  • WHEREPredikat

    Fö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:markerad ja Databricks Runtime 14.3 och senare

    Anger att syftet med filomskrivning är att uppgradera tabellen till den angivna Iceberg-versionen. version måste vara antingen 1 eller 2.

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