FSCK REPAIR TABLE

Si applica a:check marked yes Databricks SQL check marked yes Databricks Runtime

Rimuove le voci di file dal log delle transazioni di una tabella Delta che non è più possibile trovare nel file system sottostante. Ciò può verificarsi quando questi file sono stati eliminati manualmente.

Sintassi

FSCK REPAIR TABLE table_name [DRY RUN]

Parametri

  • table_name

    Identifica una tabella Delta esistente. Il nome non deve includere una specifica temporale.

  • DRY RUN

    Mostra informazioni sulle voci di file che verrebbero rimosse dal log delle transazioni di una tabella Delta da FSCK REPAIR TABLE, perché non sono più disponibili nel file system sottostante. Ciò può verificarsi quando questi file sono stati eliminati manualmente. Le voci di file sono un percorso di file di dati o una combinazione di percorso di file di dati e percorso del file vettoriale di eliminazione. Le voci di file vengono incluse nell'output quando manca il file di dati, quando manca il file vettoriale di eliminazione o quando mancano entrambi.

    Per impostazione predefinita, DRY RUN restituisce solo i primi 1000 file. È possibile aumentare questa soglia impostando la variabile spark.databricks.delta.fsck.maxNumEntriesInResult SparkSession su un valore superiore prima di eseguire il comando in un notebook.

Resi

Per DRY RUN Un report del modulo:

  • dataFilePath STRING NOT NULL
  • dataFileMissing BOOLEAN NOT NULL
  • deletionVectorPath STRING
  • deletionVectorFileMissing BOOLEAN NOT NULL

Esempi

— 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