REORG TABLE
A következőkre vonatkozik: Databricks SQL Databricks Runtime 11.3 LTS és újabb
Átrendezhet egy Delta Lake-táblát úgy, hogy újraírja a fájlokat a helyreállíthatóan törölt adatok, például az ALTER TABLE DROP COLUMN által elvetett oszlopadatok törléséhez.
Szintaxis
REORG TABLE table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )
Feljegyzés
APPLY (PURGE)
csak a helyreállíthatóan törölt adatokat tartalmazó fájlokat írja át.APPLY (UPGRADE)
átírhatja az összes fájlt.REORG TABLE
idempotens, ami azt jelenti, hogy ha kétszer fut ugyanazon az adatkészleten, a második futtatásnak nincs hatása.- A futtatás
APPLY (PURGE)
után a helyreállíthatóan törölt adatok továbbra is létezhetnek a régi fájlokban. Futtassa a VACUUM parancsot a régi fájlok fizikai törléséhez.
Paraméterek
-
Egy meglévő Delta-táblát azonosít. A név nem tartalmazhat időbeli specifikációt.
WHERE
PredikátumA program
APPLY (PURGE)
az adott partíció predikátumának megfelelő fájlokat rendezi át. Csak a partíciókulcs-attribútumokat tartalmazó szűrők támogatottak.APPLY (PURGE)
Megadja, hogy a fájl újraírásának célja a helyreállíthatóan törölt adatok törlése. Lásd: Csak metaadatok törlése az adatok újraírásának kényszerítéséhez.
APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))
A következőkre vonatkozik: Databricks Runtime 14.3 és újabb verziók
Megadja, hogy a fájl újraírásának célja a tábla frissítése az adott Iceberg-verzióra.
version
vagy1
2
.
Példák
> 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));