你好,
目前,我使用結構流插入/更新/刪除一個表。一行將被刪除,如果值在“操作”列中“刪除”。一切都似乎工作好,直到有一個新列。
因為我不需要目標表中的“操作”列,我使用whenMatchedUpdate(設置=
. .)和whenNotMatchedInsert(值= . .)而不是whenMatchedUpdateAll ()和whenNotMatchedInsertAll ()。然而,似乎從文檔模式演化發生隻有當有updateAll或insertAll或兩者兼而有之。“操作”列也不能被刪除,因為它需要的合並(刪除)條件。
有什麼方法可以自動添加一個新列合並前和還下降一些列?
來幫助它在這種情況下,我想我需要看到更多的數據+示例數據。
你也可以實現生活三角洲表——有新功能apply_changes可以很好的在你的情況中https://docs.www.eheci.com/data-engineering/delta-live-tables/delta-live-tables-cdc.html
謝謝你的文檔。它是非常有用的。
醫生,我想我可以使用
deltaTable = DeltaTable.replace (sparkSession) .tableName (testTable) .addColumns (df.schema) . execute ()
更新代碼中的模式,當檢測到一些模式改變。
無論如何,這段代碼替換表,所以不僅數據有更新,但所有的數據也消失了。
你有什麼其他建議嗎?