REORG TABLE
Platí pro: Databricks SQL Databricks Runtime 11.3 LTS a vyšší
Přeuspořádejte tabulku Delta Lake tak, že přepíšete soubory pro vymazání obnovitelně odstraněných dat, jako jsou například data sloupců vynechaná funkcí 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. Pomocí funkce VAKUA můžete fyzicky odstranit staré soubory.
Parametry
-
Identifikuje existující tabulku Delta. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností.
WHERE
predikátV případě
APPLY (PURGE)
přeuspořádá soubory, které odpovídají danému predikátu oddílu. Podporují se pouze filtry zahrnující atributy klíče oddílu.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: Databricks SQL Databricks Runtime 14.3 a vyšší
Určuje, že účelem přepsání souboru je upgradovat tabulku na danou verzi Icebergu.
version
musí být buď1
nebo2
.
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));