FSCK REPAIR TABLE

適用対象:check marked yes Databricks SQL check marked yes Databricks Runtime

基になるファイル システムに見つからなくなったファイル エントリを Delta テーブルのトランザクション ログから削除します。 これは、これらのファイルが手動で削除された場合に行われる可能性があります。

構文

FSCK REPAIR TABLE table_name [DRY RUN]

パラメーター

  • table_name

    既存の 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