FSCK REPAIR TABLE;

Область применения: флажок Databricks SQL флажок Databricks Runtime

Удаляет из журнала транзакций таблицы Delta записи файлов, которые больше невозможно найти в базовой файловой системе. Это может произойти, если файлы были удалены вручную.

Синтаксис

FSCK REPAIR TABLE table_name [DRY RUN]

Параметры

  • table_name

    Определяет существующую таблицу Delta. Имя не должно содержать временную спецификацию.

  • DRY RUN

    Отображает сведения о записях файла, которые будут удалены из журнала транзакций таблицы FSCK REPAIR TABLEDelta, так как они больше не могут находиться в базовой файловой системе. Это может произойти, если файлы были удалены вручную. Записи файлов — это путь к файлу данных или сочетание пути к файлу данных и пути к вектору удаления. Записи файлов включаются в выходные данные, если файл данных отсутствует, когда отсутствует векторный файл удаления или когда они отсутствуют.

    По умолчанию DRY RUN возвращает только первые 1000 файлов. Это пороговое значение можно увеличить, задав переменную spark.databricks.delta.fsck.maxNumEntriesInResult SparkSession более высоким значением перед выполнением команды в записной книжке.

Возвраты

Для DRY RUN отчета формы:

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

Примеры

— 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