执行程序核心的数量可以大于Spark任务的总数吗?

问题描述 投票:0回答:1

当执行者核心大于Spark任务数量时会发生什么?这种情况可能吗?如果是,额外核心会发生什么?

apache-spark bigdata
1个回答
0
投票

我认为这个问题有点离题。您提出的要求不太可能。为什么?

  • 具有大量数据,您将进行许多分区,并且您可能会重新分区。
  • 假设您有10,000个分区,相当于10,000个任务。
  • 执行者(核心)将有效地为一个任务提供一个分区(1:1映射),完成后移至下一个任务,直到所有任务在阶段中完成,然后下一个任务将开始(如果它在计划中/ DAG中)。
  • [在大多数情况下,您不太可能拥有10,000个执行者核心的集群,但是有些站点拥有该核心,这是事实。

  • 如果您分配的核心数量超过了所需数量,那么它们将保持空闲状态,无法供其他用户使用。但是通过动态资源分配,可以放弃执行者。我曾与YARN和Spark Standalone合作,但不确定K8的情况。

© www.soinside.com 2019 - 2024. All rights reserved.