Apache Spark for Microsoft Fabric 中的作业排队

适用于:✅Microsoft Fabric 中的数据工程和数据科学

当达到 Fabric 容量的 Spark 计算限制时,Microsoft Fabric 支持后台作业排队。 作业排队系统为添加到队列中的作业提供自动重试功能,直到队列到期为止。 用户在 Azure 上创建 Microsoft Fabric 容量时,可以根据其分析工作负载大小选择容量大小。

购买容量后,管理员可以在 Microsoft Fabric 中的容量内创建工作区。 在这些工作区中运行的 Spark 作业最多可以使用为给定容量分配的最大内核数,一旦达到最大限制,作业就会受到限制或排队。

详细了解 Microsoft Fabric 中的 Spark 并发限制

笔记本作业和 Spark 作业定义支持作业排队,这些定义由管道或计划程序触发。 交互式 笔记本作业 和通过 笔记本公共 API 触发的笔记本作业不支持排队。

队列以先进先出 (FIFO) 方式运行,即作业根据提交时间添加到队列中,并不断重试并在容量释放时开始执行。

注意

当 Fabric 容量处于限制状态时,不支持 Spark 作业的排队。 提交的所有新作业都将被拒绝。

作业队列的工作原理

提交 Spark 作业时,如果 Fabric 容量已达到其最大计算限制,则无法立即执行该作业。 在这种情况下,可以将作业排入队列以供执行。 使用以下步骤从管道对笔记本进行排队:

  1. 创建一个新的 管道 项目,并在其中创建一个新的 管道活动 以执行笔记本。

  2. 从管道活动中,打开 “设置” 选项卡,然后选择要排队并 运行 管道的笔记本。

    显示如何从管道运行笔记本的屏幕截图。

  3. 作业进入 FIFO 队列。 导航到 “监视器 ”中心,注意到作业状态 为“未启动 ”,指示作业已排队并等待容量。

  4. 当现有作业完成并释放计算资源时,会选取队列中的作业。 执行开始时,状态将从“未启动”更改为“正在进行”。 队列在 24 小时后过期,所有作业从进入队列的时间起就过期。 达到过期时间后,必须重新提交作业。

队列大小

Fabric Spark 根据附加到工作区的容量 SKU 大小强制执行队列大小,提供限制和排队机制,用户可以根据购买的 Fabric 容量 SKU 提交作业。

以下部分根据容量 SKU 列出了基于 Microsoft Fabric 的 Spark 工作负载的各种队列大小:

Fabric 容量 SKU 等效的 Power BI SKU 队列限制
F2 - 4
F4 - 4
F8 - 8
F16 - 16
F32 - 32
F64 P1 64
F128 P2 128
F256 P3 256
F512 P4 512
F1024 - 1024
F2048 - 2048
试用容量 P1 NA

注意

Fabric 试用容量不支持排队。 用户必须切换到付费 Fabric F 或 P SKU 才能对 Spark 作业使用排队。

达到 Fabric 容量的最大队列限制后,提交的新作业将受到限制,并显示错误消息 [TooManyRequestsForCapacity] 无法运行此 spark 作业,因为已达到 Spark 计算或 API 速率限制。若要运行此 Spark 作业,请通过监视中心取消活动的 Spark 作业,选择更大的容量 SKU,或稍后重试。HTTP 状态代码:430 {了解详细信息} HTTP 状态代码:430