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

覆蓋和合並模式編寫使用自動裝卸機磚

匿名
新的貢獻者三世

我們在磚使用自動裝卸機讀文件。源係統是充分的完整的數據快照文件。所以我們想三角洲表中讀取數據和寫在覆蓋模式下所有數據被新老數據。同樣為其他用例,我們需要合並和更新現有的三角洲表中記錄。

而自動裝卸機隻支持在append模式,有什麼選項寫在覆蓋和合並。

下麵是我們正在使用的代碼寫在使用自動裝卸機append模式

df.writeStream.format(“δ”)。選項(“mergeSchema”,“真正的”).outputMode(“追加”)。選項(“checkpointLocation checkpointLocation) .trigger(一次= True) .start (deltaLakePath)

1接受解決方案

接受的解決方案

werners1
尊敬的貢獻者三世

@Ranjeet賈斯瓦爾,

支持afaik合並:

https://docs.m.eheci.com/_static/notebooks/merge-in-streaming.html

這個鏈接做一些聚合當然可以查找。

有趣的部分是outputMode(“更新”),和foreachBatch函數的實際合並

在原帖子查看解決方案

6個回答6

匿名
不適用

你好,@Ranjeet賈斯瓦爾!我的名字是風笛手,我是一個主持人的社區。歡迎並感謝您的問題。我們將給你的同行一個機會作出反應之前回來。

提前感謝你的耐心。:slightly_smiling_face:

werners1
尊敬的貢獻者三世

@Ranjeet賈斯瓦爾,

支持afaik合並:

https://docs.m.eheci.com/_static/notebooks/merge-in-streaming.html

這個鏈接做一些聚合當然可以查找。

有趣的部分是outputMode(“更新”),和foreachBatch函數的實際合並

匿名
新的貢獻者三世

這是我們正在使用但我想知道這是最有效的方式。

在我們的示例中,我們繞過30 - 40百萬記錄與每一個新文件(源給完整的數據快照)。因此,即使有一些記錄的變化,它需要通過合並所有的30 - 40百萬記錄,這需要一些時間。

不確定是否有有效的方法來處理這個完整的覆蓋的數據用例沒有昂貴的合並。

我也有同樣的問題....傳入/流媒體數據(使用自動裝卸機)可以1比1 m記錄。我們需要從我們的目標找出δ表(有數十億行)哪一個主鍵已經存在,忽略它們,隻有插入新的。這種融合解決方案聽起來有點效率低下。也許我缺少一些特殊醬料? ?

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

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

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

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

Baidu
map