VACUUM

Dotyczy:check marked yes Databricks SQL check marked yes Databricks Runtime

Usuń nieużywane pliki z katalogu tabel.

Uwaga

To polecenie działa inaczej w zależności od tego, czy pracujesz z tabelą Delta, czy Apache Spark.

Opróżnianie tabeli delty

Rekursywnie katalogi próżni skojarzone z tabelą delta. Aby uzyskać szczegółowe informacje i ograniczenia, zobacz Usuwanie nieużywanych plików danych z próżnią.

VACUUM Usuwa wszystkie pliki z katalogu tabeli, które nie są zarządzane przez funkcję Delta, a także pliki danych, które nie są już w najnowszym stanie dziennika transakcji dla tabeli i są starsze niż próg przechowywania. VACUUM spowoduje pominięcie wszystkich katalogów rozpoczynających się od podkreślenia (_), który zawiera _delta_logelement . Partycjonowanie tabeli w kolumnie rozpoczynającej się od podkreślenia jest wyjątkiem od tej reguły; VACUUM skanuje wszystkie prawidłowe partycje zawarte w docelowej tabeli delty. Pliki danych tabeli różnicowej są usuwane zgodnie z czasem ich logicznego usunięcia z dziennika transakcji usługi Delta oraz godzin przechowywania, a nie ich sygnatur czasowych modyfikacji w systemie magazynu. Domyślna wartość progu to 7 dni.

W tabelach usługi Delta usługa Azure Databricks nie wyzwala VACUUM automatycznie operacji.

W przypadku uruchomienia VACUUM w tabeli delty utracisz możliwość powrotu do wersji starszej niż określony okres przechowywania danych.

Ostrzeżenie

Zaleca się ustawienie interwału przechowywania na co najmniej 7 dni, ponieważ stare migawki i niezatwierdzone pliki mogą nadal być używane przez równoczesnych czytników lub składników zapisywania do tabeli. Jeśli VACUUM czyści aktywne pliki, równoczesne czytniki mogą zakończyć się niepowodzeniem lub, co gorsza, tabele mogą być uszkodzone, gdy VACUUM usuwa pliki, które nie zostały jeszcze zatwierdzone. Należy wybrać interwał dłuższy niż najdłuższej działająca współbieżna transakcja i najdłuższy okres, o jaki każdy strumień może opóźnić się w stosunku do najnowszej aktualizacji tabeli.

Usługa Delta Lake ma kontrolę bezpieczeństwa, aby zapobiec uruchamianiu niebezpiecznego VACUUM polecenia. W środowisku Databricks Runtime masz pewność, że nie ma żadnych operacji wykonywanych w tej tabeli, które trwają dłużej niż interwał przechowywania, który ma być określony, można wyłączyć tę kontrolę bezpieczeństwa, ustawiając właściwość spark.databricks.delta.retentionDurationCheck.enabled konfiguracji platformy Spark na falsewartość .

VACUUM table_name [RETAIN num HOURS] [DRY RUN]

Parametry

  • Nazwa_tabeli

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

  • ZACHOWAJ LICZBA GODZIN

    Próg przechowywania.

  • PRZEBIEG SUCHY

    Zwróć listę maksymalnie 1000 plików do usunięcia.

Opróżnij tabelę inną niż delta

Rekursywnie opróżnia katalogi skojarzone z tabelą inną niż delta i usuwają niezatwierdzone pliki starsze niż próg przechowywania. Domyślna wartość progu to 7 dni.

W tabelach innych niż delta usługa Azure Databricks automatycznie wyzwala operacje VACUUM podczas zapisywania danych.

Składnia

VACUUM table_name [RETAIN num HOURS]

Parametry

  • Nazwa_tabeli

    Identyfikuje istniejącą tabelę według nazwy lub ścieżki.

  • ZACHOWAJ LICZBA GODZIN

    Próg przechowywania.