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

查詢時間太長寫到三角洲表。

Axatar
新的因素

你好,

我遇到問題而試圖將數據寫入一個增量表,查詢之間加入3表和獲取數據,但是需要5分鍾3小時寫數據到表中,選擇有700條記錄。

下麵是我測試的方法:

共享的集群

3 h

孤立的集群

2.88 h

外部表+鑲花+壓縮“ZSTD”

2.63 h

調節表屬性:“三角洲。targetFileSize ' = 256 mb,
“三角洲。tuneFileSizesForRewrites”=“真正的”

2.9 h

水桶插入(100批次的記錄)

太長時間我不得不取消它

分區

不是一個選擇

集群的總結
保護工人:140 - 2100 GB的內存
20 - 300核
司機:140 GB內存,20個核
運行時:12.2.x-scala2.12

4回複4

Kaniz
社區經理
社區經理

@Axatar,

長時間寫的問題可能是由於以下幾個原因。

這裏有一些建議根據你給出的信息和提供的來源:

1。* * * *重複的數據:根據提供的信息(合並文檔)(https://docs.m.eheci.com/delta/merge.html),如果有重複的記錄在新的數據集,它需要更多的時間,因為它試圖插入相同的數據。您可以使用合並操作來避免插入重複的記錄。這將有助於優化寫操作。

2。δ表* *:* *優化(優化文檔)(https://docs.m.eheci.com/_extras/_extras/notebooks/generated/delta/optimize-sql.sql.html)表明,優化命令可以鞏固文件和秩序的δ表數據快速檢索。

3所示。* *減少匹配的搜索空間* *:按(最佳實踐文檔)(https://docs.m.eheci.com/delta/best-practices.html),您可以減少花費的時間通過合並使用方法如減少匹配的搜索空間,壓縮文件,控製調整分區寫道,使優化寫道,和調優表中的文件大小。

Axatar
新的因素

謝謝你的及時反應,更多的環境問題。

正在寫數據被截斷的表每次運行腳本(其作為分段表)。這意味著每次插入一個空表,

Kaniz
社區經理
社區經理

@Axatar,根據提供的信息,您可以使用預作用選擇執行SQL刪除命令之前加載新數據到臨時表。這將確保表插入新數據之前清空。的預作用選項允許你指定一個;分開之前執行SQL命令的列表複製命令。

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

我想知道如果你已經看了sql計劃看哪個階段是采取更多的時間。

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

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

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

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

Baidu
map