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
Detekuje a opravuje problémy s metadaty a datovými soubory pro tabulku Delta. Příkaz má tři progresivní úrovně:
- Oprava pouze transakčního protokolu
- Oprava transakčního protokolu a odebrání chybějících datových souborů
- Oprava transakčního protokolu, odebrání chybějících datových souborů a odebrání poškozených datových souborů
Každá úroveň zahrnuje všechny operace z předchozích úrovní.
Syntaxe
FSCK REPAIR TABLE table_name [fsck_mode] [DRY RUN]
fsck_mode
{ METADATA ONLY |
VERIFY ALL FILES |
VERIFY FILES MODIFIED BETWEEN start_timestamp AND end_timestamp }
Parametry
-
Identifikuje existující tabulku Delta. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností.
fsck_modePlatí pro:
Databricks Runtime 18.0 a vyššíDefinuje, které akce se mají provést.
Pokud není zadaný (výchozí režim):
- Ověří a opraví transakční protokol potřebný k vytvoření nejnovějšího snímku tabulky.
- Odebere z tabulky odkazy na datové soubory, které již v základním systému souborů neexistují.
- Odebere z tabulky odkazy na datové soubory, jejichž hodnoty oddílů porušují
NOT NULLomezení.
METADATA ONLYOvěří a opraví transakční protokol potřebný k vytvoření nejnovějšího snímku tabulky.
VERIFY ALL FILESProvede všechny operace z výchozího režimu. Ověří integritu všech aktivních datových souborů. Odebere z tabulky odkazy na všechny soubory, které selžou kontrole integrity.
VERIFY FILES MODIFIED BETWEEN start_timestamp AND end_timestampProvede všechny operace z výchozího režimu. Ověřuje integritu aktivních datových souborů, jejichž čas úpravy spadá do zadaného časového intervalu. Odebere z tabulky odkazy na všechny soubory, které selžou kontrole integrity. Oba výrazy
start_timestampaend_timestampmusí být konstantními výrazy, které se vyhodnotí jako časová razítka. Výrazy mohou zahrnovatcurrent_timestamp()acurrent_date()funkce.
ZKOUŠKA NA SUCHO
Sestavy bez provedení změn upozorňují na problémy s metadaty a datovými soubory, které by
FSCK REPAIR TABLEopravil.Ve výchozím nastavení
DRY RUNvrátí pouze prvních 1 000 souborů. Tuto prahovou hodnotu můžete zvýšit nastavením proměnnéspark.databricks.delta.fsck.maxNumEntriesInResultrelace na vyšší hodnotu před spuštěním příkazu v poznámkovém bloku.
Poznámky
FSCK opraví jenom nejnovější snímek tabulky. Historické kontrolní body a neaktivní soubory se neověřují ani opravují.
Při kontrole existence souboru ve výchozím režimu nebo ověřování integrity souborů v
VERIFYrežimechFSCKověřuje také všechny přidružené vektory odstranění. Pokud datový soubor Parquet nebo přidružený vektor odstranění chybí nebo je poškozen, odkazy se z tabulky odeberou.
Návraty
Když se spustí s DRY RUN, příkaz vrátí datový rámec s následujícím schématem:
dataFilePath STRING NOT NULLdataFileMissing BOOLEAN NOT NULLdeletionVectorPath STRINGdeletionVectorFileMissing BOOLEAN NOT NULL
Platí pro:
Databricks Runtime 18.0 a vyšší
checkpointFilePath STRINGfileCrcCorrupt BOOLEAN NOT NULLfileUnreadable BOOLEAN NOT NULLfileMetadataHasInvalidPartitionValues BOOLEAN NOT NULLdeletionVectorCorrupt BOOLEAN NOT NULL
Příklady
-- Assume 005.checkpoint.parquet has CRC checksum corruption.
> FSCK REPAIR TABLE t METADATA ONLY DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing checkpointFilePath fileCrcCorrupt fileUnreadable fileMetadataHasInvalidPartitionValues deletionVectorCorrupt
------------ --------------- ------------------ ------------------------- --------------------------------- -------------- -------------- ------------------------------------- ---------------------
null false null false _delta_log/005.checkpoint.parquet true false false false
-- Assume file1.parquet is missing, whose deletion vector dv1.bin is also missing.
-- Assume file2.parquet has partition value being NULL, where the partition column is NOT NULL.
> FSCK REPAIR TABLE t DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing checkpointFilePath fileCrcCorrupt fileUnreadable fileMetadataHasInvalidPartitionValues deletionVectorCorrupt
------------- --------------- ------------------ ------------------------- ------------------ -------------- -------------- ------------------------------------- ---------------------
file2.parquet true dv1.bin true null false false false false
file2.parquet false null false null null null true false
-- Assume file1.parquet is corrupt and unreadable.
-- Assume file2.parquet has a corrupt deletion vector dv2.bin.
> FSCK REPAIR TABLE t VERIFY ALL FILES DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing checkpointFilePath fileCrcCorrupt fileUnreadable fileMetadataHasInvalidPartitionValues deletionVectorCorrupt
------------- --------------- ------------------ ------------------------- ------------------ -------------- -------------- ------------------------------------- ---------------------
file1.parquet false null false null false true false false
file2.parquet false dv2.bin false null null null false true