Condividi tramite


TABELLA REORG

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 11.3 LTS e versioni successive

Riorganizzare una tabella Delta Lake riscrivendo i file per eliminare i dati eliminati soft, ad esempio i dati delle colonne eliminati da ALTER TABLE DROP COLUMN.

Sintassi

REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
                             APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )

Per le versioni di Databricks Runtime precedenti alla 15.4 TABLE è una parola chiave obbligatoria.

Nota

  • APPLY (PURGE) riscrive solo i file che contengono dati eliminati soft.
  • APPLY (UPGRADE) può riscrivere tutti i file.
  • REORG TABLE è idempotente, ovvero se viene eseguito due volte nello stesso set di dati, la seconda esecuzione non ha alcun effetto.
  • Dopo l'esecuzione APPLY (PURGE)di , i dati eliminati soft possono essere ancora presenti nei file precedenti. È possibile eseguire VACUUM per eliminare fisicamente i file precedenti.

Parametri

  • table_name

    Identifica una tabella Delta esistente. Il nome non deve includere una specifica temporale o una specifica delle opzioni.

  • WHEREpredicate

    Per APPLY (PURGE), riorganizza i file che corrispondono al predicato di partizione specificato. Sono supportati solo i filtri che coinvolgono gli attributi della chiave di partizione.

  • APPLY (PURGE)

    Specifica che lo scopo della riscrittura dei file consiste nell'eliminare i dati eliminati soft. Per forzare la riscrittura dei dati, vedere Eliminare solo i metadati.

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    Si applica a: segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 14.3 e versioni successive

    Specifica che lo scopo della riscrittura dei file consiste nell'aggiornare la tabella alla versione di Iceberg specificata. version deve essere 1 o 2.

Esempi

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