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

火花sql更新很慢

Vincent_Doe
新的貢獻者二世

我試圖盡可能使用火花但經驗回歸。希望得到一些方向如何正確地使用它。

我創建了一個表使用spark.sql磚

火花。sql (select * from example_view) \ .write \ .mode(覆蓋)\ .saveAsTable (“example_table”)

然後我需要補一些價值

% sql更新example_table集create_date = ' 2022-02-16 ' id =“123”;更新example_table組create_date = ' 2022-02-17 ' id =“124”;更新example_table組create_date = ' 2022-02-18 ' id =“125”;更新example_table組create_date = ' 2022-02-19 ' id =“126”;

然而,我發現這awlfully緩慢,因為它創造了數以百計的火花工作:

image.png為什麼它引發這樣做,並建議如何改善我的代碼嗎?最後一件事我要做的是將其轉換回熊貓和單獨更新單元值。任何建議都是感激。

1接受解決方案

接受的解決方案

帕特
尊敬的貢獻者三世

嗨,@Vincent能源部,

在三角洲表更新是可用的,但在引擎蓋下麵你更新檢查機關文件,這意味著每個更新都需要找到該文件,記錄存儲,然後重寫文件新版本,新文件的當前版本。

在你的情況中也許你應該是這樣的:

火花。sql(“”“選擇col1、col2 col3、案例當id =“123”“2022-02-16”當id =“124”“2022-02-17”結束create_date……從example_view”“”) \ .write \ .mode(覆蓋)\ .saveAsTable (“example_table”)

在原帖子查看解決方案

3回複3

帕特
尊敬的貢獻者三世

嗨,@Vincent能源部,

在三角洲表更新是可用的,但在引擎蓋下麵你更新檢查機關文件,這意味著每個更新都需要找到該文件,記錄存儲,然後重寫文件新版本,新文件的當前版本。

在你的情況中也許你應該是這樣的:

火花。sql(“”“選擇col1、col2 col3、案例當id =“123”“2022-02-16”當id =“124”“2022-02-17”結束create_date……從example_view”“”) \ .write \ .mode(覆蓋)\ .saveAsTable (“example_table”)

Vincent_Doe
新的貢獻者二世

@Pat Sienkiewicz。這是好的建議。謝謝。

Kaniz
社區經理
社區經理

嗨@Vincent能源部,這將意味著很多如果你可以選擇“最佳答案“幫助別人找到正確答案更快。

這使得回答後出現問題,所以很容易找到在一個線程。

它還幫助我們馬克問題回答我們可以有更多的眼睛幫助別人有許多未解之謎。

我可以依靠你嗎?

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

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

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

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

Baidu
map