Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime
Detecteert en herstelt metagegevens en gegevensbestandsproblemen voor een Delta-tabel. De opdracht heeft drie progressieve niveaus:
- Alleen het transactielogboek herstellen
- Het transactielogboek herstellen en ontbrekende gegevensbestanden verwijderen
- Herstel het transactielogboek, verwijder ontbrekende gegevensbestanden en verwijder beschadigde gegevensbestanden
Elk niveau bevat alle bewerkingen van de vorige niveaus.
Syntaxis
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 }
Parameters
-
Identificeert een bestaande Delta-tabel. De naam mag geen tijdelijke specificatie of optiesspecificatie bevatten.
fsck_modeVan toepassing op:
Databricks Runtime 18.0 en hogerHiermee definieert u welke acties moeten worden uitgevoerd.
Als dit niet is opgegeven (standaardmodus):
- Valideert en herstelt het transactielogboek dat nodig is om de meest recente momentopname van de tabel te maken.
- Verwijdert verwijzingen uit de tabel naar gegevensbestanden die niet meer bestaan in het onderliggende bestandssysteem.
- Verwijdert verwijzingen uit de tabel naar gegevensbestanden waarvan partitiewaarden beperkingen schenden
NOT NULL.
METADATA ONLYValideert en herstelt het transactielogboek dat nodig is om de meest recente momentopname van de tabel te maken.
VERIFY ALL FILESVoert alle bewerkingen uit vanuit de standaardmodus. Valideert de integriteit van alle actieve gegevensbestanden. Hiermee verwijdert u verwijzingen uit de tabel naar bestanden die de integriteitscontrole mislukken.
VERIFY FILES MODIFIED BETWEEN start_timestamp AND end_timestampVoert alle bewerkingen uit vanuit de standaardmodus. Valideert de integriteit van actieve gegevensbestanden waarvan de wijzigingstijd binnen het opgegeven tijdvenster valt. Hiermee verwijdert u verwijzingen uit de tabel naar bestanden die de integriteitscontrole mislukken. Beide
start_timestampenend_timestampmoeten constante expressies zijn die tijdstempels evalueren. De expressies kunnencurrent_timestamp()encurrent_date()functies bevatten.
DROOGLOOP
Rapporteert, zonder wijzigingen aan te brengen, de metagegevens- en gegevensbestandenproblemen die
FSCK REPAIR TABLEzou herstellen.DRY RUNStandaard worden alleen de eerste 1000 bestanden geretourneerd. U kunt deze drempelwaarde verhogen door de sessievariabelespark.databricks.delta.fsck.maxNumEntriesInResultin te stellen op een hogere waarde voordat u de opdracht uitvoert in een notebook.
Opmerkingen
FSCK herstelt alleen de meest recente momentopname van de tabel. Historische controlepunten en inactieve bestanden worden niet gevalideerd of hersteld.
Bij het controleren op het bestaan van bestanden in de standaardmodus of het valideren van bestandsintegriteit in
VERIFYmodi,FSCKworden ook alle bijbehorende verwijderingsvectoren gevalideerd. Als het Parquet-gegevensbestand of de bijbehorende verwijderingsvector ontbreekt of beschadigd is, worden de verwijzingen uit de tabel verwijderd.
Retouren
Wanneer u werkt met DRY RUN, retourneert de opdracht een DataFrame met het volgende schema:
dataFilePath STRING NOT NULLdataFileMissing BOOLEAN NOT NULLdeletionVectorPath STRINGdeletionVectorFileMissing BOOLEAN NOT NULL
Van toepassing op:
Databricks Runtime 18.0 en hoger
checkpointFilePath STRINGfileCrcCorrupt BOOLEAN NOT NULLfileUnreadable BOOLEAN NOT NULLfileMetadataHasInvalidPartitionValues BOOLEAN NOT NULLdeletionVectorCorrupt BOOLEAN NOT NULL
Voorbeelden
— 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