假设我共有4个核心,
如果我将执行者数量定义为8.,会发生什么情况。
我们可以在2个执行者之间共享一个核心吗?
执行者的核心数量可以是零头吗?
这种配置对性能有什么影响?
最佳答案
这是我在Spark独立模式下观察到的:
我系统的总核心为4
如果我使用spark.executor.cores = 2执行spark-shell命令
然后将创建2个执行者,每个执行者具有2个核心。
但是,如果我将执行程序的数量配置为多于可用内核,
这样一来,将只创建一个执行程序,其系统核心为max。
核心数永远不会是分数值。
如果在配置中分配分数值,最终将出现异常:
如果有任何错误,请随时编辑/更正该帖子。
关于apache-spark - 首先,我可以定义比可用内核更多的执行程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63960922/