當我嚐試運行該命令
火花。如果存在table_to_drop sql(“刪除表”)
和表不存在,我得到以下錯誤:
AnalysisException:“表或視圖的table_to_drop數據庫中沒有‘零’;;\ nDropTableCommand table_to_drop,真的,假的,假\ n”
命令工作表時確實存在。
我用Python3 Azure磚筆記本,磚5.2運行時的高並發性集群。
使用以下命令創建表:
df.write。選項(“路徑”,“誹謗聯盟:/ / * * *.azuredatalakestore.net/delta/table_to_drop”) .saveAsTable (name = " table_to_drop "格式=“δ”)
我想使用“如果存在”的目的是為了避免這個錯誤。這是一個錯誤,我還是不明白?
我同意這是一個可用性的缺陷。文檔清楚地指出,如果提供了可選的標記“如果存在”,聲明將什麼也不做。
https://docs.m.eheci.com/spark/latest/spark-sql/language-manual/drop-table.html
刪除表複製
刪除表(如果存在)[db_name] table_name
刪除一個表和刪除相關的目錄表如果這不是一個從文件係統
外部
表。如果表不存在,下降就會拋出一個異常。
如果存在
如果表不存在,什麼也不會發生。
我得到與原文相同的錯誤而運行這個命令的SQL API
刪除表如果存在testTable;
我希望沒有錯誤,但得到以下。
錯誤的SQL語句:AnalysisException:表或視圖的testTable‘零’中沒有數據庫;;DropTableCommand
testTable
,真的,假的,假的