REORG TABLE
Dotyczy: Databricks SQL Databricks Runtime 11.3 LTS i nowsze
Zorganizuj ponownie tabelę Delta Lake poprzez przepisanie plików w celu oczyszczenia danych usuniętych nietrwale, takich jak dane kolumn usunięte przez ALTER TABLE DROP COLUMN.
Składnia
REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )
W przypadku wersji środowiska Databricks Runtime przed 15.4 TABLE
jest obowiązkowym słowem kluczowym.
Uwaga
-
APPLY (PURGE)
Ponownie zapisuje tylko pliki zawierające dane nietrwałe. -
APPLY (UPGRADE)
może przepisać wszystkie pliki. -
REORG TABLE
jest idempotentny, co oznacza, że jeśli jest uruchamiany dwa razy w tym samym zestawie danych, drugi przebieg nie ma wpływu. - Po uruchomieniu
APPLY (PURGE)
programu dane usunięte nietrwale mogą nadal istnieć w starych plikach. Możesz uruchomić VACUUM, aby fizycznie usunąć stare pliki.
Parametry
-
Identyfikuje istniejącą tabelę delty. Nazwa nie może zawierać specyfikacji czasowej ani specyfikacji opcji.
WHERE
predykatW przypadku
APPLY (PURGE)
programu zreorganizuje pliki zgodne z danym predykatem partycji. Obsługiwane są tylko filtry obejmujące atrybuty klucza partycji.APPLY (PURGE)
Określa, że celem ponownego zapisywania plików jest przeczyszczenie nietrwałych danych. Zobacz Przeczyszczanie usuwania tylko metadanych, aby wymusić ponowne zapisywanie danych.
APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))
Dotyczy: Databricks SQL Databricks Runtime 14.3 i nowsze
Określa, że celem ponownego zapisywania plików jest uaktualnienie tabeli do danej wersji Góry Lodowej.
version
musi mieć wartość1
lub2
.
Przykłady
> 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));