[英]How to fix corrupted delta lake table on AWS S3
我最終手動刪除了一些 delta Lake 條目(托管在 S3 上)。 現在我的 Spark 作業失敗了,因為增量事務日志指向文件系統中不存在的文件。 我遇到了這個https://docs.databricks.com/spark/latest/spark-sql/language-manual/delta-fsck.html但我不確定我應該如何運行這個實用程序。
您可以按照隨附的文檔輕松完成此操作。
如果您的 S3 頂部有 hive 表,我已按如下方式完成:
%sql
FSCK REPAIR TABLE schema.testtable DRY RUN
使用DRY RUN
將列出需要刪除的文件。 您可以先運行上述命令,並驗證實際需要刪除的文件。
一旦你確認你可以在沒有DRY RUN
的情況下運行上面的實際命令,它應該可以滿足你的需要。
%sql
FSCK REPAIR TABLE schema.testtable
現在,如果您還沒有創建 hive 表並且有一個路徑(增量表),您可以在其中保存文件,那么您可以執行以下操作:
%sql
FSCK REPAIR TABLE delta.`dbfs:/mnt/S3bucket/tables/testtable` DRY RUN
我正在從數據塊執行此操作,並將我的 S3 存儲桶路徑安裝到數據塊。 您需要確保在delta之后有那個`符號。 在實際路徑之前,否則它將不起作用。
在這里,為了執行實際的修復操作,您可以從上述命令中刪除DRY RUN
,它應該執行您所希望的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.