YARN 曾经计算过 num-executors 吗?

Does YARN calculate num-executors ever?

如果我只是提供怎么办

u'--executor-cores', '5',
u'--executor-memory', '20G'
u'--driver-memory', '20G',

YARN 会自动计算一个集群中可以放置的最大 Spark 执行器数量吗?

TL;DR 不。Hadoop YARN 不会计算 num-executors(因为当您 spark-submit 一个 Spark 应用程序时已经提供了它)。

执行spark-submit --help阅读num-executors的描述(突出显示我的):

YARN-only:

--num-executors NUM Number of executors to launch (Default: 2).

因此,除非您指定数量,否则您最终会得到 2 个执行者。

请注意,--num-executors 适用于单个和整个 Spark 应用程序,与正在使用的工作线程数(由 YARN 集群管理)无关。