簡體   English   中英

Spark 資源分配:內核數

[英]Spark Resource Allocation: Number of Cores

需要了解如何為 Spark 作業配置核心 我的機器可以有最大值。 11 Cores, 28 Gb memory 下面是我如何為我的 Spark 作業分配資源,它的執行時間是4.9 mins

--driver-memory 2g \
--executor-memory 24g \
--executor-cores 10 \
--num-executors 6

但是我瀏覽了多篇文章,提到核心數應該是 ~ 5,當我用這個配置運行作業時,它的執行時間增加到6.9 mins

--driver-memory 2g \
--executor-memory 24g \
--executor-cores 5 \
--num-executors 6 \
  1. 將核心數保持在最大值附近會有任何問題嗎? 值(在我的例子中是 10)?
  2. 如許多文章中所建議的那樣,將核心數保持為 5 有什么好處嗎?
  3. 那么一般來說確定Number of cores需要考慮哪些因素呢?

這完全取決於作業的行為,一個配置並不能優化所有需求。

--executor-cores表示一台機器上沒有內核。

如果這個數字太大(>5),那么機器的磁盤和網絡(將在該機器上的所有執行程序 spark 核心之間共享)將造成瓶頸。 如果 no 太少(~1),那么它將無法實現良好的數據並行性,也不會從同一台機器上的數據局部性中受益。

TLDR :--executor-coers 5 很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM