Sdílet prostřednictvím


FSCK REPAIR TABLE

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Odebere položky souboru z transakčního protokolu tabulky Delta, která již není v základním systému souborů nalezena. K tomu může dojít, když se tyto soubory odstraní ručně.

Syntaxe

FSCK REPAIR TABLE table_name [DRY RUN]

Parametry

  • table_name

    Identifikuje existující tabulku Delta. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností.

  • ZKOUŠKA NA SUCHO

    Zobrazuje informace o položkách souboru, které by byly odebrány z transakčního protokolu tabulky Delta , FSCK REPAIR TABLEprotože již nelze najít v podkladovém systému souborů. K tomu může dojít, když se tyto soubory odstraní ručně. Položky souboru jsou buď cesta k datovému souboru, nebo kombinace cesty k datovému souboru a cesty k souboru vektoru odstranění. Položky souboru se zahrnou do výstupu, když chybí datový soubor, když chybí soubor vektoru odstranění nebo když oba chybí.

    Ve výchozím nastavení DRY RUN vrátí pouze prvních 1 000 souborů. Tuto prahovou hodnotu můžete zvýšit nastavením proměnné spark.databricks.delta.fsck.maxNumEntriesInResult SparkSession na vyšší hodnotu před spuštěním příkazu v poznámkovém bloku.

Návraty

Sestava DRY RUN formuláře:

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

Příklady

— 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