Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime
Odeberte nepoužívané soubory z adresáře tabulky.
Poznámka:
Tento příkaz funguje jinak v závislosti na tom, jestli pracujete na tabulce Delta, Apache Spark nebo Apache Iceberg.
Vakuovat tabulku Delta
Rekurzivně čistí adresáře spojené s tabulkou Delta. Úplné podrobnosti a omezení najdete v tématu Odebrání nepoužívaných datových souborů pomocí vakua.
VACUUM odebere všechny soubory z adresáře tabulky, které nespravuje Delta, a také datové soubory, které už nejsou v nejnovějším stavu transakčního protokolu pro tabulku a jsou starší než prahová hodnota uchovávání informací.
VACUUM přeskočí všechny adresáře, které začínají znakem podtržítka (_), což zahrnuje _delta_log. Dělení tabulky na sloupec začínající podtržítkem je výjimkou tohoto pravidla; VACUUM prohledá všechny platné oddíly zahrnuté v cílové tabulce Delta. Datové soubory tabulky Delta se odstraní podle času, kdy byly logicky odebrány z transakčního protokolu Delta plus doby uchovávání, nikoli časové razítka jejich úprav v systému úložiště. Výchozí mezní hodnota je 7 dnů.
Pokud používáte VACUUM tabulku Delta, ztratíte možnost časového přesunu zpět na verzi starší než zadanou dobu uchovávání dat.
Pokud je povolená prediktivní optimalizace , Azure Databricks automaticky aktivuje VACUUM operaci jako součást procesu optimalizace. Ve většině případů nemusíte spouštět VACUUM ručně.
Varování
Databricks důrazně doporučuje nastavit interval uchovávání nejméně 7 dnů. Pokud máte úlohy, které běží několik dní, můžou dlouhotrvající úlohy zapisovat soubory, které ještě nejsou potvrzené. Pokud je doba uchovávání příliš krátká, VACUUM můžete tyto nepotvrzené soubory před dokončením úlohy odstranit.
Delta Lake má bezpečnostní kontrolu, aby zabránila provedení nebezpečného VACUUM příkazu. V modulu Databricks Runtime jste si jisti, že v této tabulce nejsou provedeny žádné operace, které by trvalo déle, než je zadaný interval uchovávání informací, můžete tuto bezpečnostní kontrolu vypnout nastavením vlastnosti konfigurace Sparku spark.databricks.delta.retentionDurationCheck.enabled na false.
Vakuum tabulky Apache Iceberg
Rekurzivně odebere neodkazované soubory z adresářů přidružených k tabulce Apache Iceberg. Doba uchovávání je pevná na 7 dnů.
Pokud je povolená prediktivní optimalizace , Azure Databricks automaticky aktivuje VACUUM operaci jako součást procesu optimalizace. Ve většině případů nemusíte spouštět VACUUM ručně.
Syntaxe
VACUUM table_name { { FULL | LITE } | DRY RUN } [...]
Parametry
-
Identifikuje existující tabulku Delta. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností.
DRY RUNVrátí seznam až 1 000 souborů, které se mají odstranit.
FULLneboLITEPlatí pro:
Databricks SQL
Databricks Runtime 16.1 a vyššíFULLspustí operaci vakua v plném režimu. Tím se odstraní datové soubory mimo dobu uchování a všechny soubory v adresáři tabulky, na které tabulka neodkazuje.LITEspustí operaci vakua v režimu Lite . Místo vyhledání všech souborů v adresáři tabulekVACUUMpomocí transakčního protokolu Delta identifikuje a odebere soubory, na které už v době uchování neodkazují žádné verze tabulek. PokudVACUUM LITEnelze dokončit, protože protokol Delta byl vyřazen, je vyvolána výjimka DELTA_CANNOT_VACUUM_LITE.Výchozí hodnota je
FULL.
Důležité
Okno uchovávání informací pro příkaz VACUUM je určeno vlastností tabulky delta.deletedFileRetentionDuration, která má výchozí hodnotu 7 dnů.
To znamená, že VACUUM odebere datové soubory, na které už v posledních 7 dnech neodkazuje verze tabulky Delta.
Chcete-li uchovávat data po delší dobu, například pro podporu delšího cestování v čase, nastavte tuto vlastnost tabulky na vyšší hodnotu.
Následující příklad ukazuje nastavení této prahové hodnoty na 30 dnů:
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Úklid dalších tabulek
Rekurzivně čistí adresáře přidružené k tabulkám, které nejsou ani Delta, ani Iceberg, a odebírá nepotvrzené soubory starší než stanovená prahová hodnota uchovávání. Výchozí mezní hodnota je 7 dnů.
V těchto tabulkách Azure Databricks automaticky aktivuje VACUUM operace při zápisu dat.
Syntaxe
VACUUM table_name
Parametry
-
Identifikuje existující tabulku podle názvu nebo cesty.