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

火花數據限製

BorislavBlagoev
重視貢獻三世

多少數據太多火花和分區2 gb的數據最好的策略是什麼?

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世

2 gb很小所以通常默認設置是最好的(所以在大多數情況下更好的結果不是設置類似的重新分配等,讓一切催化劑優化器)。如果你想設置自定義分區:

  • 請記住關於避免數據傾斜(一個分區比其他),
  • 考慮避免數據打亂——自定義分區有時可以有助於避免混亂,但往往也可以增加洗牌
  • 核心/線程正在1分區所以有意義有分區的數量=數量的cpu,但它是自動設置的
  • 當有許多數據打亂你可以有幾百分區,因為它必須打亂,然後徹底的內存和網絡

有很多視頻數據磚youtube頻道(一些很長)。

在我看來最重要的和簡單的分析數據傾斜,這也會影響情況一切都自動管理(我們可以看到它在UI火花在1秒1分區處理和其他例如在1分鍾)。它可能發生當我們讀取數據是錯誤的切塊(常見的問題是,人們在sql jdbc讀下界和upperBound將ids例如桶每1000 id在分區,但隨著時間的推移id增長所以它使數據傾斜在每個分區將1000行,但在最後一個將所有行上麵upperBond可以有數百萬…)

在原帖子查看解決方案

8回答說8

Hubert_Dudek1
尊敬的貢獻者三世

2 gb很小所以通常默認設置是最好的(所以在大多數情況下更好的結果不是設置類似的重新分配等,讓一切催化劑優化器)。如果你想設置自定義分區:

  • 請記住關於避免數據傾斜(一個分區比其他),
  • 考慮避免數據打亂——自定義分區有時可以有助於避免混亂,但往往也可以增加洗牌
  • 核心/線程正在1分區所以有意義有分區的數量=數量的cpu,但它是自動設置的
  • 當有許多數據打亂你可以有幾百分區,因為它必須打亂,然後徹底的內存和網絡

有很多視頻數據磚youtube頻道(一些很長)。

在我看來最重要的和簡單的分析數據傾斜,這也會影響情況一切都自動管理(我們可以看到它在UI火花在1秒1分區處理和其他例如在1分鍾)。它可能發生當我們讀取數據是錯誤的切塊(常見的問題是,人們在sql jdbc讀下界和upperBound將ids例如桶每1000 id在分區,但隨著時間的推移id增長所以它使數據傾斜在每個分區將1000行,但在最後一個將所有行上麵upperBond可以有數百萬…)

@Hubert杜德克所以火花自動分區數據,這取決於cpu。舉個例子,如果我有4個節點集群每個節點有兩個核心意味著火花將讓我dataframe 8個分區?

@Hubert杜德克你能解釋為:

  • 當有許多數據打亂你可以有幾百分區,因為它必須打亂,然後徹底的內存和網絡

Hubert_Dudek1
尊敬的貢獻者三世

“DataFrame增加分區號200引發運行時自動執行數據轉移(加入(),聯盟(),聚合函數)。”

它是來自https://sparkbyexamples.com/spark/spark-shuffle-partitions/

4工人2芯在很多情況下會給8個分區(但並非總是如此:slightly_smiling_face:)。你總是可以通過運行YourDataframe.rdd.getNumPartitions驗證它

有更多提到的鏈接。

看視頻也很好(雖然它是更高級的)https://www.youtube.com/watch?v=daXEp4HmS-E

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

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

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

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

Baidu
map