Dela via


REORG TABLE

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

  • table_name

    Identifierar en befintlig Delta table. Namnet får inte innehålla en temporal specifikation eller alternativspecifikation.

  • WHERE predikat

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

    Anger att syftet med filomskrivning är att uppgradera table 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));