取消
顯示的結果
而不是尋找
你的意思是:

重命名表不能寫入或刪除

477061年
貢獻者

我已經重命名一個表,但是試圖寫信給它(或刪除)我得到以下錯誤:

io。FileNotFoundException:沒有這樣的文件或目錄:蜂巢s3a: / /…/ /倉庫/ testing.db / renamed_table_name json / _delta_log / 00000000000000000002.”

我的版本是10.4 LTS集群

下麵的python片段可以用來重建問題:

' ' '

DB_NAME = '測試'

def重命名(old_table_name new_table_name):

spark.conf.set (“spark.databricks.delta.alterTable.rename.enabledOnAWS”,“真正的”)

火花。sql ALTER TABLE {DB_NAME} (f”。{old_table_name}重命名{DB_NAME} {new_table_name}”)。

def覆蓋(table_name source_df):

(source_df.write

.mode(“覆蓋”)

.format(“δ”)

.saveAsTable (f“{DB_NAME} {table_name}”)。

)

def get_df ():

data = (

(“Name1”、“Surname1 ", 12345),

(“Name2”、“Surname2 ", 67890),

]

返回spark.createDataFrame(數據)

sparkDf = get_df ()

#創建表

覆蓋(table_name, sparkDf)

#重命名表

重命名(“table_name”、“renamed_table_name”)

#試著寫重命名表(或刪除)。這裏發生了故障

覆蓋(renamed_table_name, sparkDf)

' ' '

任何幫助將不勝感激

1接受解決方案

接受的解決方案

AmanSehgal
尊敬的貢獻者三世

我試著你的代碼在11.1(包括Apache火花3.3.0,Scala 2.12),效果非常好。

然而它將工作完美隻有第一次因為如果你嚐試重新運行相同的代碼,它將錯誤並指出renamed_table_name存在。

P。學生:請使用代碼片段(< / >按鈕)代碼包含在您的問題

在原帖子查看解決方案

3回複3

AmanSehgal
尊敬的貢獻者三世

我試著你的代碼在11.1(包括Apache火花3.3.0,Scala 2.12),效果非常好。

然而它將工作完美隻有第一次因為如果你嚐試重新運行相同的代碼,它將錯誤並指出renamed_table_name存在。

P。學生:請使用代碼片段(< / >按鈕)代碼包含在您的問題

Vidula
尊敬的貢獻者

嗨,@julie.holtzhausen

希望一切都好!隻是想檢查如果你能解決你的問題,你會很高興分享解決方案或答案標記為最佳?其他的請讓我們知道如果你需要更多的幫助。

我們很想聽到你的聲音。

謝謝!

Noopur_Nigam
重視貢獻二世

嗨@477061請你嚐試DBR 11.1中測試它,看看這個問題持續嗎?

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map