TABELA REORG
Dotyczy: Databricks SQL Databricks Runtime 11.3 LTS i nowsze
Zreorganizowanie tabeli usługi Delta Lake przez ponowne zapisywanie plików w celu przeczyszczania danych usuniętych nietrwale, takich jak dane kolumny porzucone przez kolumnę 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ć polecenie 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));