【问题标题】:How vCores and Memory get allocated from Spark Pool如何从 Spark Pool 分配 vCore 和内存
【发布时间】:2022-01-20 03:02:47
【问题描述】:

我有以下火花池配置。节点:3 到 10。

Spark 作业配置:

看到下面的分配后,看起来它正在使用池中的所有 10 个节点。 10 x 8 vCore = 80 vCore; 10 x 64 GB = 640 GB

但是,我已将执行程序的数量 - 最小值和最大值设置为 4 到 6。那么,不应该将最大值设置为 6 x 8 vCore 和 6 x 64 GB 吗?如果我在这里遗漏了什么,请更正。

【问题讨论】:

    标签: azure-synapse


    【解决方案1】:

    您对 Spark Pool Allocated vCores、内存和 Spark Job 执行程序大小感到困惑,这是两个不同的东西。

    您已经创建了一个ContractsMed Spark Pool,它的最大容量为。 10 个节点,每个节点大小等于 8 个 vCore 和 64 GB 内存。这就是您共享的最后一个 sn-p 包含 Spark Pool Allocated vCores 和 Memory 而不是 Spark Job 详细信息的原因。因此,80 个 vCore 和 640 GB 是 Spark Pool 的大小,而不是 Spark 作业

    现在进入 Spark 作业配置,您将在其中使用 ContractsMed Spark Pool。由于您已配置最多 6 个执行程序,每个执行程序具有 8 个 vCore 和 56 GB 内存,因此将从 Spark Pool 中获取相同的资源,即 6x8=56 vCore 和 6x56=336 GB 内存并在作业中使用。

    Spark Pool 中的剩余资源(80-56=24 个 vCore 和 640-336=304 GB 内存)将保持未使用状态,可用于任何其他 Spark 作业。

    【讨论】:

      猜你喜欢
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      相关资源
      最近更新 更多