簡體   English   中英

如何修復 AWS S3 上損壞的 delta 湖表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM