Bagikan melalui


FSCK REPAIR TABLE

Berlaku untuk: centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Menghapus entri file dari log transaksi tabel Delta yang tidak lagi dapat ditemukan di sistem file yang mendasarinya. Hal ini dapat terjadi ketika file-file ini telah dihapus secara manual.

Sintaks

FSCK REPAIR TABLE table_name [DRY RUN]

Parameter

  • table_name

    Mengidentifikasi tabel Delta yang sudah ada. Nama tidak boleh menyertakan spesifikasi temporal.

  • DRY RUN

    Memperlihatkan informasi tentang entri file yang akan dihapus dari log transaksi tabel Delta dengan FSCK REPAIR TABLE, karena tidak dapat ditemukan lagi dalam sistem file yang mendasar. Hal ini dapat terjadi ketika file-file ini telah dihapus secara manual. Entri file adalah jalur file data atau kombinasi jalur file data dan jalur file vektor penghapusan. Entri file disertakan dalam output ketika file data hilang, ketika file vektor penghapusan hilang, atau ketika keduanya hilang.

    Secara default, DRY RUN hanya mengembalikan 1000 file pertama. Anda dapat meningkatkan ambang ini dengan mengatur variabel spark.databricks.delta.fsck.maxNumEntriesInResult SparkSession ke nilai yang lebih tinggi sebelum menjalankan perintah di buku catatan.

Mengembalikan

Untuk DRY RUN laporan formulir:

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

Contoh

— 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