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

DLT,重複數據刪除模式嗎?

Jfoxyyc
價值貢獻

說我們有一個增量發生附加使用自動裝卸機,已添加文件名dataframe,僅此而已。如果我們想減少重複這個數據在一個滾動的窗口中,我們可以做一些類似

合並成日誌使用dedupedLogs日誌。id = dedupedLogs。id和日誌。日期大於當前日期()——當匹配和dedupedLogs間隔7天。日期大於當前日期()——間隔7天然後更新設置*不匹配時,dedupedLogs。日期大於當前日期()——間隔7天然後插入*

dedupedLogs哪裏增量附加的一個子集(7天)與有序哈希關鍵rownum = 1。

這可以在三角洲住表嗎?我嚐試使用apply_changes(),但得到一個錯誤,一個上遊已經改變了。DLT的新算法似乎並沒有接,第二個表,de-duped,應該是一個增量表。

2回答2

匿名
不適用

@Jordan狐狸:

如果你得到一個錯誤對上遊的變化,這可能是因為表模式或分區已經改變了。你可以試著運行描述擴展日誌和描述擴展dedupedLogs比較模式和是否存在差異。

是的,它可以執行一個滾動窗口重複數據刪除在三角洲湖使用合並操作。你可以合並增量δ表中的數據與現有的數據和更新或插入記錄基於一個條件。給一個例子如下

合並成日誌使用(選擇id、文件名、日期(SELECT *, ROW_NUMBER() /(分區id按日期順序DESC)從dedupedLogs rownum日期大於當前日期()——間隔7天),rownum = 1), d日誌。id = d。id和日誌。日期大於當前日期()——間隔7天當匹配更新日誌。文件名= d。文件名不匹配時然後插入(id、文件名、日期)值(d。id, d。文件名,d.date);

在這個例子中,dedupedLogs表包含減少數據在過去的7天。我們使用ROW_NUMBER()窗口函數將一個行號分配給每個記錄在相同的一組記錄的id,下令日期列在降序排列。然後我們隻選擇rownum = 1的記錄每個id獲取最新紀錄。合並成語句匹配記錄在日誌記錄在d使用id列,列和過濾器的日期。如果找到一個匹配,在更新日誌文件名列值d。如果沒有匹配,新記錄插入到日誌從d的值。

Vidula_Khanna
主持人
主持人

嗨@Jordan福克斯

希望一切都好!隻是想檢查如果你能解決你的問題,你會很高興分享解決方案或答案標記為最佳?其他的請讓我們知道如果你需要更多的幫助。

我們很想聽到你的聲音。

謝謝!

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

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

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

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

Baidu
map