spark资源分配:核心数

zf2sa74q  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(382)

需要了解如何为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 \

将核心数保持在接近最大值(在我的情况下是10)会有任何问题吗?
如许多文章所建议的,将核心数保持在5有什么好处吗?
那么一般来说,在确定核数时要考虑哪些因素呢?

ubof19bj

ubof19bj1#

这完全取决于作业的行为,一个配置并不能优化所有需求。 --executor-cores 表示一台机器上的磁芯数。
如果这个数字太大(>5),那么机器的磁盘和网络(将在该机器上的所有executor spark核之间共享)将产生瓶颈。如果no太小(~1),那么它将无法实现良好的数据并行性,也无法从同一台机器上的数据局部性中获益。 TLDR :——执行官科尔斯5号没事。

相关问题