刪除S3底層桶時刪除表

在刪除S3桶中存儲數據的表之前,不要刪除桶中的內容。

寫的何塞·岡薩雷斯

最後發布時間:2022年5月31日

問題

當您遇到錯誤時,正在嚐試刪除或更改表。

錯誤的SQL語句:IOException: Bucket_name…不存在

您可以使用刪除表ALTER TABLE命令。

sql DROP TABLE 
         
sql ALTER TABLE ";

導致

在刪除表之前,您刪除了底層S3 bucket的內容。

因為數據不再存在,所以在嚐試刪除表時將會得到一個錯誤。

解決方案

您可以使用spark.sessionState.catalog.externalCatalog.dropTable刪除表。

%scala導入org.apache.spark.sql.hive.HiveUtils spark.sessionState.catalog.externalCatalog。dropTable("", "", ignoreIfNotExists = false, purge = false)