Sdílet prostřednictvím


REORG TABLE

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 11.3 LTS a vyšší

Přeorganizovat Delta Lake table přepsáním souborů, aby byla vymazána softwarově odstraněná data, jako jsou column data vyřazená ALTER TABLE DROP COLUMN.

Syntaxe

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

Pro verze Databricks Runtime starší než 15.4 TABLE je povinné klíčové slovo.

Poznámka:

  • APPLY (PURGE) Přepíše pouze soubory, které obsahují obnovitelně odstraněná data.
  • APPLY (UPGRADE) může přepsat všechny soubory.
  • REORG TABLE je idempotentní, což znamená, že pokud se spustí dvakrát ve stejné datové sadě, druhé spuštění nemá žádný vliv.
  • Po spuštění APPLY (PURGE)můžou ve starých souborech stále existovat obnovitelně odstraněná data. Ke fyzickému odstranění starých souborů můžete spustit VACUUM.

Parameters

  • table_name

    Identifikuje existující Delta table. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností.

  • WHERE predikát

    U APPLY (PURGE)přeuspořádá soubory, které odpovídají danému predikátu partition. Podporují se pouze filtry zahrnující partition klíčové atributy.

  • APPLY (PURGE)

    Určuje, že účelem přepsání souboru je vyprázdnit obnovitelně odstraněná data. Viz Odstranění metadat pouze k vynucení přepsání dat.

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 14.3 a vyšší

    Určuje, že účelem přepsání souboru je upgradovat table na danou verzi Icebergu. version musí být buď 1 nebo 2.

Příklady

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