Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime
Erkennt und repariert Metadaten- und Datendateiprobleme für eine Delta-Tabelle. Der Befehl verfügt über drei progressive Ebenen:
- Reparieren nur des Transaktionsprotokolls
- Reparieren des Transaktionsprotokolls und Entfernen fehlender Datendateien
- Reparieren des Transaktionsprotokolls, Entfernen fehlender Datendateien und Entfernen beschädigter Datendateien
Jede Ebene enthält alle Vorgänge aus den vorherigen Ebenen.
Syntax
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 }
Parameter
-
Identifiziert eine vorhandene Delta-Tabelle. Der Name darf keine zeitliche Spezifikation oder Optionsspezifikation enthalten.
fsck_modeGilt für:
Databricks Runtime 18.0 und höherDefiniert, welche Aktionen ausgeführt werden sollen.
Wenn nicht angegeben (Standardmodus):
- Überprüft und repariert das Transaktionsprotokoll, das erforderlich ist, um den neuesten Tabellenschnappschuss zu erstellen.
- Entfernt Verweise aus der Tabelle auf Datendateien, die nicht mehr im zugrunde liegenden Dateisystem vorhanden sind.
- Entfernt Verweise aus der Tabelle auf Datendateien, deren Partitionswerte gegen Einschränkungen verstoßen
NOT NULL.
METADATA ONLYÜberprüft und repariert das Transaktionsprotokoll, das erforderlich ist, um die neueste Tabellenmomentaufnahme zu erstellen.
VERIFY ALL FILESFührt alle Vorgänge aus dem Standardmodus aus. Überprüft die Integrität aller aktiven Datendateien. Entfernt Verweise aus der Tabelle auf dateien, bei denen die Integritätsprüfung fehlschlägt.
VERIFY FILES MODIFIED BETWEEN start_timestamp AND end_timestampFührt alle Vorgänge aus dem Standardmodus aus. Überprüft die Integrität aktiver Datendateien, deren Änderungszeit innerhalb des angegebenen Zeitfensters liegt. Entfernt Verweise aus der Tabelle auf dateien, bei denen die Integritätsprüfung fehlschlägt. Beide
start_timestampundend_timestampmüssen Konstantenausdrücke sein, die als Zeitstempel ausgewertet werden. Die Ausdrücke könnencurrent_timestamp()undcurrent_date()Funktionen enthalten.
PROBELAUF
Meldet die Metadaten- und Datendateiprobleme, die
FSCK REPAIR TABLEreparieren würde, ohne Änderungen vorzunehmen.Standardmäßig gibt
DRY RUNnur die ersten 1000 Dateien zurück. Sie können diesen Schwellenwert erhöhen, indem Sie die Sitzungsvariablespark.databricks.delta.fsck.maxNumEntriesInResultauf einen höheren Wert festlegen, bevor Sie den Befehl in einem Notizbuch ausführen.
Hinweise
FSCK repariert nur den neuesten Tabellenschnappschuss. Historische Prüfpunkte und inaktive Dateien werden nicht überprüft oder repariert.
Bei der Überprüfung auf das Vorhandensein von Dateien im Standardmodus oder beim Überprüfen der Dateiintegrität in
VERIFYModiFSCKwerden auch alle zugeordneten Löschvektoren überprüft. Wenn entweder die Datendatei "Parkett" oder der zugehörige Löschvektor fehlt oder beschädigt ist, werden die Verweise aus der Tabelle entfernt.
Gibt zurück
Bei ausführung mit DRY RUN, gibt der Befehl einen DataFrame mit dem folgenden Schema zurück:
dataFilePath STRING NOT NULLdataFileMissing BOOLEAN NOT NULLdeletionVectorPath STRINGdeletionVectorFileMissing BOOLEAN NOT NULL
Gilt für:
Databricks Runtime 18.0 und höher
checkpointFilePath STRINGfileCrcCorrupt BOOLEAN NOT NULLfileUnreadable BOOLEAN NOT NULLfileMetadataHasInvalidPartitionValues BOOLEAN NOT NULLdeletionVectorCorrupt BOOLEAN NOT NULL
Beispiele
— 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