FSCK REPAIR TABLE
适用于: Databricks SQL Databricks Runtime
从 Delta 表的事务日志中删除无法再从基础文件系统中找到的文件条目。 手动删除这些文件时,可能会发生这种情况。
语法
FSCK REPAIR TABLE table_name [DRY RUN]
参数
-
标识现有的 Delta 表。 名称不得包含时态规范或选项规范。
DRY RUN
显示有关将由
FSCK REPAIR TABLE
从 Delta 表的事务日志中删除的文件条目的信息,因为它们不再可在基础文件系统中找到。 手动删除这些文件时,可能会发生这种情况。 文件条目是数据文件路径,或者是数据文件路径和删除矢量文件路径的组合。 当缺少数据文件、缺少删除矢量文件或两者均缺失时,输出中将包含文件条目。默认情况下,
DRY RUN
仅返回前 1000 个文件。 在笔记本中运行该命令之前,可以通过将 SparkSession 变量spark.databricks.delta.fsck.maxNumEntriesInResult
设置为更高的值来增加此阈值。
返回
对于 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