你好,
我遇到問題而試圖將數據寫入一個增量表,查詢之間加入3表和獲取數據,但是需要5分鍾3小時寫數據到表中,選擇有700條記錄。
下麵是我測試的方法:
共享的集群 |
3 h |
孤立的集群 |
2.88 h |
外部表+鑲花+壓縮“ZSTD” |
2.63 h |
調節表屬性:“三角洲。targetFileSize ' = 256 mb, |
2.9 h |
水桶插入(100批次的記錄) |
太長時間我不得不取消它 |
分區 |
不是一個選擇 |
集群的總結
保護工人:140 - 2100 GB的內存
20 - 300核
司機:140 GB內存,20個核
運行時:12.2.x-scala2.12
嗨@Axatar,
長時間寫的問題可能是由於以下幾個原因。
這裏有一些建議根據你給出的信息和提供的來源:
1。* * * *重複的數據:根據提供的信息(合並文檔)(https://docs.www.eheci.com/delta/merge.html),如果有重複的記錄在新的數據集,它需要更多的時間,因為它試圖插入相同的數據。您可以使用合並
操作來避免插入重複的記錄。這將有助於優化寫操作。
2。δ表* *:* *優化(優化文檔)(https://docs.www.eheci.com/_extras/_extras/notebooks/generated/delta/optimize-sql.sql.html)表明,優化
命令可以鞏固文件和秩序的δ表數據快速檢索。
3所示。* *減少匹配的搜索空間* *:按(最佳實踐文檔)(https://docs.www.eheci.com/delta/best-practices.html),您可以減少花費的時間通過合並使用方法如減少匹配的搜索空間,壓縮文件,控製調整分區寫道,使優化寫道,和調優表中的文件大小。