在S3中存儲的三角洲表上的真空命令
本文解釋了您在運行時可能會遇到的場景真空
在存儲在S3存儲桶中的三角洲表上的命令。
問題
您可以將Delta表存儲在DBFS或S3中。保存到S3時,應使用S3A而不是使用S3提供表的位置。如果使用S3而不是S3A創建表,則真空
命令將在以下錯誤中失敗:
SQL語句中的錯誤:Sparkexception:由於階段失敗而流產的工作:第343.0階段的任務6失敗了4次,最新失敗:丟失任務6.3階段343.0(TID 4130677,10.25.122.176,executor 13):斷言失敗:這裏不應該有任何絕對刪除途徑
解決方案
該錯誤不再發生在Databricks運行時5.0中。如果您遇到了大量表的錯誤,請創建一個帶有數據鏈球支持的機票,以更新元數據。快速的方法可以是:
- 創建一個新表格,並使用S3A提供表位置。
- 編寫一個插入查詢,以將數據從舊表插入新表。
- 放下舊桌子。