Поделиться через


FSCK REPAIR TABLE

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

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

Синтаксис

FSCK REPAIR TABLE table_name [DRY RUN]

Параметры

  • table_name

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

  • DRY RUN

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

    По умолчанию 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