Freigeben über


FSCK REPAIR TABLE

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert 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 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-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