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

表流源ignoreDeletes”選項與達美住

Zachary_Higgins
貢獻者

我們在δδ流源表管道可能數據刪除的時候。

錯誤消息是相當自我解釋:

從191年流源版本…。這是目前不支持。如果你想忽略刪除,設置選項“ignoreDeletes”到“真正的”。

不清楚是如何設置此選項。這就是我們現在但不產生期望的結果。期望的結果是新數據讀取和刪除被忽略。

設置管道。ignoreDeletes = true;創建或更新直播表……

這個選項應該設置在三角洲的生活方式表嗎?

7回複7

Kaniz
社區經理
社區經理

嗨@Zachary希金斯,

例如,假設您有一個表user_events日期,user_email和行動列按日期劃分。你流user_events表,你需要刪除數據由於GDPR。

當你刪除分區邊界(即在一個分區列),文件已經分割價值所以刪除隻是滴這些文件的元數據。因此,如果你隻是想一些分區的刪除數據,您可以使用:

spark.readStream.format(“δ”).option (“ignoreDeletes”,“真正的”).load (“/ tmp /δ/ user_events”)

但是,如果你必須基於user_email刪除數據,您將需要使用:

spark.readStream.format(“δ”).option (“ignoreChanges”,“真正的”).load (“/ tmp /δ/ user_events”)

如果你更新一個user_email update語句,該文件包含user_email是重寫。當你使用ignoreChanges,新的記錄與所有其他不變向下遊傳播記錄在同一文件中。你的邏輯應該能夠處理這些輸入重複的記錄。

更多細節請辦理文檔

你好,謝謝你的回應。你的建議與三角洲住表當你試一試嗎?這似乎產生相同的錯誤消息,當我用下麵的代碼:

@dlt。表(…})def table_fnc():返回spark.readStream.format(“δ”)。選項(“ignoreDeletes”,“真正的”).table(“表”)

我不擔心重複。我隻是想流表的當前狀態,並將它附加到水槽DLT管道。據我所知,DLT不能追加數據從源,除非它的流…

我沒聽過,但上麵的反應是複製和粘貼在這裏:表流讀寫|磚在AWS上

我們決定這些表移動到一個真正的結構化流。我們希望DLT可以支持簡單的附加。

@Kaniz Fatma——磚找到一種方法,修剪多餘的記錄從源不需要整個水槽與DLT表重新?

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

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

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

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

Baidu
map