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

“合並”總是低於“創建或替換”

格雷厄姆
新的貢獻者三世

概述

更新數據倉庫表中,我們嚐試了兩種方法:“創建或替換”和“合並”。每次查詢我們嚐試,“合並”是慢。

我的問題是:

有人成功了“合並”執行速度比“創建或替換”?

更多的細節

預期行為

合並預計通常隻寫變化(幾乎沒有),速度更快,而創建預計寫查詢中的所有記錄(有很多),慢。雪花,例如,處理MERGE語句在時間的一小部分。

觀察到的行為

合並慢。

  • 這種行為在表的大小是一致的(小,大、中數據集的所有展覽)
  • 它在查詢的複雜性是一致的(最簡單的查詢展示這個一樣做最複雜的)

一些細節我們的測試:

  • 我們使用印度生物技術部(dbt-databricks)編譯和執行SQL。請參閱下麵的編譯查詢樣板。
  • 創建或替換語句看起來像這樣:
創建或替換表<表名稱>,<查詢>
  • MERGE語句如下:
結合使用<查詢和視圖> <表名稱> <主鍵平等>當匹配不匹配時更新設置*然後插入*

其他的事情我們已經試過:

  • 調整分區和分區鍵

這個問題

我們希望任何幫助的人。更重要的是,我們想知道:任何人使用磚經曆了合並的更快?這是在這個平台上我們可以實際實現的事情嗎?Beplay体育安卓版本

3回複3

byrdman
新的貢獻者三世

你多少數據處理,如果你願意修改和替換所有的數據嗎?我想當它進入一個非常大的數據行集合,您將開始看到合並的好處發揮作用。合並有一些開銷一開始的批處理和替換不下降。數據越大你的處理越快會發生合並的好處。這隻是我的想法,沒有辦法使它正確。

格雷厄姆
新的貢獻者三世

好問題。我們做這個有數億行的表。

werners1
尊敬的貢獻者三世

有點取決於有多少分區/文件必須重寫。

同樣,如果您可以添加文件修剪,您將看到一個巨大的性能:

https://learn.microsoft.com/en-us/azure/databricks/optimizations/

我有情況合並速度比重建,但我也有很多情況下,我甚至不使用三角洲湖,因為經典拚花覆蓋方式快。

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

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

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

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

Baidu
map