FSCK REPAIR TABLE
Gilt für: Databricks SQL Databricks Runtime
Entfernt die Dateieinträge aus dem Transaktionsprotokoll einer Delta-Tabelle, die im zugrunde liegenden Dateisystem nicht mehr zu finden ist. Dies kann passieren, wenn die betreffenden Dateien manuell gelöscht wurden.
Syntax
FSCK REPAIR TABLE table_name [DRY RUN]
Parameter
-
Identifiziert eine vorhandene Delta-Tabelle. Der Name darf keine zeitliche Spezifikation oder Optionsspezifikation enthalten.
DRY RUN
Zeigt Informationen zu den Dateieinträgen an, die von
FSCK REPAIR TABLE
aus dem Transaktionsprotokoll einer Delta-Tabelle entfernt würden, da sie im zugrunde liegenden Dateisystem nicht mehr gefunden werden können. Dies kann passieren, wenn die betreffenden Dateien manuell gelöscht wurden. Dateieinträge sind entweder ein Datendateipfad oder eine Kombination aus Datendateipfad und Löschvektordateipfad. Dateieinträge sind in der Ausgabe enthalten, wenn die Datendatei fehlt, wenn die Löschvektordatei fehlt oder wenn beide fehlen.Standardmäßig gibt
DRY RUN
nur die ersten 1000 Dateien zurück. Sie können diesen Schwellenwert erhöhen, indem Sie die SparkSession-Variablespark.databricks.delta.fsck.maxNumEntriesInResult
auf einen höheren Wert festlegen, bevor Sie den Befehl in einem Notebook ausführen.
Gibt zurück
Für DRY RUN
: Ein Bericht im Format:
dataFilePath STRING NOT NULL
dataFileMissing BOOLEAN NOT NULL
deletionVectorPath STRING
deletionVectorFileMissing BOOLEAN NOT NULL
Beispiele
— Assume file1.parquet is missing and no DV is expected.
> FSCK REPAIR TABLE t DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing
------------- --------------- ------------------ -------------------------
file1.parquet true null false
— Assume dv1.bin is missing.
> FSCK REPAIR TABLE t DRY RUN;
dataFilePath dataFileMissing deletionVectorPath deletionVectorFileMissing
------------- --------------- ------------------ -------------------------
file1.parquet false dv1.bin true