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

優化三角洲湖磚的性能:技巧和最佳實踐

Kaniz
社區經理
社區經理

你好磚班加羅爾的用戶組!

我希望你都享受在我們的社區討論和學習機會。我有一個問題,我希望得到你的見解:

磚的上下文中,你能分享你的經驗和最佳實踐優化三角洲湖用於大規模數據處理的性能?具體地說,什麼技術或配置你找到最有效的提高查詢性能和減少數據處理時間?

你的見解和經驗將為我們的社區成員是無價的,尤其是在磚處理大規模數據。

我們期待聽到你的思想從你的專業知識和學習!

3回複3

swethaNandan
新的貢獻者三世

嗨Kaniz,

有很多技術來提高查詢性能。

一些表設計,可以認為提高查詢性能如下:

  1. 壓實

我們已經看到有大量的小文件性能問題如得不到一個好的輸入分割或長時間列表文件。我們可以減少很多小文件通過壓實

有兩個選項,壓實,使汽車優化連同你的數據加載和運行手動優化工作。磚建議有或多或少地統一為一個分區內的數據文件大小

運行優化生成大文件後結合小文件——壓實後最大文件大小由spark.databricks.delta.optimize.maxFileSize控製。默認- 1 GB

自動優化是一個可選的特性,自動緊湊的小文件在個人寫一個三角洲表。自動優化增加延遲開銷寫操作,但加速讀取操作

2。數據不

火花跳過有助於消除全表掃描的數據工作,降低謂詞和跳過數據文件,不包含謂詞。文件修剪發生作為metadata-operation掃描運營商三角洲湖的一部分。這可以實現,因為三角洲湖自動收集關於數據文件的元數據管理。

數據時自動跳過信息收集到三角洲表中寫入數據。三角洲湖上磚利用這些信息(最大和最小值)在查詢時提供更快的查詢。你不需要配置數據跳過;這個功能被激活時適用。然而,其有效性取決於數據的布局。

同時,收集統計數據列是一項昂貴的操作,您可能需要配置三角洲。dataSkippingNumIndexedCols添加所有列的統計數據也需要收集和避免收集長字符串的數據需要時間

你可以分區和zorder表除了默認數據自動跳過了磚,以減少文件掃描的總數。這些類型的數據也跳過機製。

動態文件修剪是一種類型的數據不允許文件修剪與明確的文字在過濾條件和不明確的謂詞,被指定為一個連接的一部分,通常是發現在大多數數據倉庫查詢。

動態文件修剪對性能的影響往往是相關的集群數據所以考慮使用z值最大化效益。

請在上麵找到更多的細節和建議在以下鏈接

Dataskipping -https://docs.m.eheci.com/delta/data-skipping.html

動態文件修剪-https://docs.m.eheci.com/optimizations/dynamic-file-pruning.html

//m.eheci.com/blog/2020/04/30/faster-sql-queries-on-delta-lake-with-dynamic-file-prunin..。

自動優化,https://docs.m.eheci.com/optimizations/auto-optimize.html

優化-https://docs.m.eheci.com/sql/language-manual/delta-optimize.html

請找到一些查詢級別性能調優:

考慮廣播加入提示,如果其中一個表中加入小,適合在內存中。

確保表是最新的統計數據通過運行分析表計算統計的ref -https://docs.m.eheci.com/sql/language-manual/sql-ref-syntax-aux-analyze-table.html

越來越多的任務在一個階段減少泄漏,spark.sql.files——較低的運行輸入分割大小。maxPartitionBytes以便有更多數量的輸入級任務(並行)和增加洗牌階段並行性(參考:https://spark.apache.org/docs/latest/sql-performance-tuning.html)

希望這些指針幫助!

Saivarshini
新的貢獻者二世

Priyag1
尊敬的貢獻者二世

由於kaniz

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

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

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

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

Baidu
map