FSCK REPAIR TABLE

Gilt für:check marked yes Databricks SQL check marked yes 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

  • table_name

    Identifiziert eine vorhandene Delta-Tabelle. Der Name darf keine temporale Spezifikation 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-Variable spark.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