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

理想的數量和大小的分區

匿名
不適用

火花在默認情況下使用200個分區時轉換。200個分區可能太大如果用戶正在與小數據,因此它可以減緩查詢。相反,200年的分區可能太小如果數據是大。所以我怎麼算出理想的分區大小應該是什麼?

理想的分區大小將128 MB到1 GB。我該如何去確保在這個類別分區大小瀑布嗎?

1接受解決方案

接受的解決方案

sajith_appukutt
尊敬的貢獻者二世

你可以通過改變spark.sql.shuffle調整默認值200。分區配置以匹配您的數據量。這是一個樣本python代碼計算的值

但如果你有多個工作負載與不同的數據量,而不是手動為每個指定的配置,值得看AQE &自動最優化洗牌

AQE調整shufzfle分區號自動查詢的每個階段,基於map-side洗牌的大小輸出。所以隨著數據規模的增長或萎縮在不同階段,任務量將保持大致相同,既不太大也不太小。然而,AQE不會改變最初的默認分區號,所以如果你看到灑在你的工作你可以啟用自動優化設置< db_prefix > .autoOptimizeShuffle洗牌。啟用為true。

更多的細節在

//www.eheci.com/blog/2020/10/21/faster-sql-adaptive-query-execution-in-databricks.html

在原帖子查看解決方案

1回複1

sajith_appukutt
尊敬的貢獻者二世

你可以通過改變spark.sql.shuffle調整默認值200。分區配置以匹配您的數據量。這是一個樣本python代碼計算的值

但如果你有多個工作負載與不同的數據量,而不是手動為每個指定的配置,值得看AQE &自動最優化洗牌

AQE調整shufzfle分區號自動查詢的每個階段,基於map-side洗牌的大小輸出。所以隨著數據規模的增長或萎縮在不同階段,任務量將保持大致相同,既不太大也不太小。然而,AQE不會改變最初的默認分區號,所以如果你看到灑在你的工作你可以啟用自動優化設置< db_prefix > .autoOptimizeShuffle洗牌。啟用為true。

更多的細節在

//www.eheci.com/blog/2020/10/21/faster-sql-adaptive-query-execution-in-databricks.html

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

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

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

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

Baidu
map