【发布时间】:2020-09-18 18:20:57
【问题描述】:
假设我总共有 4 个核心, 如果我将执行者的数量定义为 8 会发生什么.. 我们可以在 2 个执行者之间共享一个核心吗? executor的核数可以是分数吗?
这种配置对性能有什么影响。
【问题讨论】:
-
执行器的核心数可以是分数吗?不可能,也没有任何意义允许分数值。
-
如果我将执行程序的数量定义为 8 会发生什么...根据资源可用性启动执行程序并不重要...如果您使用任何 RM(如 yarn、Mesos),那么执行器根据集群的资源可用性启动。
-
在spark架构中,每个cpu核心都被认为是一个slot,每个task/executor会占用一个slot,一次处理一个partition.... core可以在executor之间共享还是不依赖于底层硬件架构。 (即,如果架构启用了超线程,那么内核显然是在进程之间共享的)....但是从 spark 的角度来看,没有这样的 conf 并且它不会以这种方式看到。
标签: apache-spark hadoop pyspark