Udostępnij za pośrednictwem


TABELA REORG

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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

  • table_name

    Identyfikuje istniejącą tabelę delty. Nazwa nie może zawierać specyfikacji czasowej ani specyfikacji opcji.

  • WHEREpredykat

    W 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: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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 lub 2.

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