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

申請更改數據刪除和模式演化

noimeta
因素二世

你好,

目前,我使用結構流插入/更新/刪除一個表。一行將被刪除,如果值在“操作”列中“刪除”。一切都似乎工作好,直到有一個新列。

因為我不需要目標表中的“操作”列,我使用whenMatchedUpdate(設置=

. .)whenNotMatchedInsert(值= . .)而不是whenMatchedUpdateAll ()whenNotMatchedInsertAll ()。然而,似乎從文檔模式演化發生隻有當有updateAll或insertAll或兩者兼而有之。“操作”列也不能被刪除,因為它需要的合並(刪除)條件。

有什麼方法可以自動添加一個新列合並前和還下降一些列?

4回複4

Hubert_Dudek1
尊敬的貢獻者三世

來幫助它在這種情況下,我想我需要看到更多的數據+示例數據。

你也可以實現生活三角洲表——有新功能apply_changes可以很好的在你的情況中https://docs.www.eheci.com/data-engineering/delta-live-tables/delta-live-tables-cdc.html

謝謝你的回答。我沒有試過三角洲生活表,但它在未來的計劃。

總之,樣本數據看起來像:

銅表

2565-08-01在10.02.13屏幕截圖銀色的表

2565-08-01在10.02.37屏幕截圖

然後,青銅表的模式與一個新列自動得到更新

2565-08-01在10.03.30屏幕截圖這是我想要的結果的銀表

2565-08-01在10.03.51屏幕截圖

目前,我必須手動更新銀表的模式。

如果我使用whenMatchedUpdateAll ()whenNotMatchedInsertAll (),人事處列將被添加到銀表。

如果我使用whenMatchedUpdate ()whenNotMatchedInsert (),a1不會添加到表中。

User16753725469
因素二世

謝謝你的文檔。它是非常有用的。

醫生,我想我可以使用

deltaTable = DeltaTable.replace (sparkSession) .tableName (testTable) .addColumns (df.schema) . execute ()

更新代碼中的模式,當檢測到一些模式改變。

無論如何,這段代碼替換表,所以不僅數據有更新,但所有的數據也消失了。

你有什麼其他建議嗎?

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

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

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

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

Baidu
map