Spark Executors&任务

时间:2016-09-05 06:15:41

标签: apache-spark architecture internal

在Spark中,执行者可以同时运行许多任务,可能是2或5或6。

Spark如何同时计算(或计算)在同一执行程序中运行的任务数,即同时在执行程序中运行多少任务?

执行程序可能正在执行一个任务,但是可以在同一个执行程序上同时运行另外一个任务?这个标准是什么?

遗嘱执行人有固定数量的家务活动。记忆。因为我们没有指定记忆和在Spark中的任务要求,如何计算在执行程序中可以并发运行的数量?

1 个答案:

答案 0 :(得分:2)

请在下面找到答案:

  1. 您无法在Spark中控制任务内存和内核。
  2. 执行者数量由Spark管理,只有在YARN用作集群管理器时才能设置。
  3. 使用静态变量是什么意思。我想这意图是在不同任务之间共享变量。在Spark执行引擎中,可以使用accumulators or broadcast variables来实现。
  4. 每个任务都作为执行程序JVM中的进程线程运行。来自不同应用程序的任务在不同的JVM中运行。
  5. 是的,生成的任务数取决于RDD中的分区数。这就是为什么我们建议在性能提升时使用spark中的 coalesce / repartition 函数。
  6. RDD未映射到执行程序。来自RDD的多个分区可以由多个任务提供服务,这些任务可能属于多个执行器。
  7. 您可以简要了解Spark here的群集概述。