Apache Spark for Fabric 中的高并发模式

高并发模式使用户能够在处理数据工程和数据科学工作负载时在 Spark for Fabric 中使用相同的 Spark 会话。 笔记本等项使用标准 Spark 会话来执行。 在高并发模式下,Spark 会话可以支持在 Spark 应用程序中单独的 read-eval-print 循环 (REPL) 核心内独立执行多个项。 这些 REPL 核心为每个项提供隔离,并防止本地笔记本变量被共享同一会话的其他笔记本中具有相同名称的变量覆盖。

由于会话已在运行,当用户跨多个笔记本重用该会话时,这可为用户提供即时运行体验。

注意

在具有高并发模式的自定义池中,与标准 Spark 会话相比,用户可获得 36 倍于原来速度的更快会话启动体验。

显示 Fabric 中高并发模式工作的图示。

重要

会话共享条件包括:

  • 会话应位于单个用户边界内。
  • 会话应具有相同的默认湖屋配置。
  • 会话应具有相同的 Spark 计算属性。

在 Spark 会话初始化过程中,会创建 REPL 核心。 每次有新项共享同一会话时,都会以基于 FAIR 的方式向 Spark 应用程序内这些 REPL 核心中运行的笔记本分配执行程序,以防止“饥饿”情况。

高并发会话的计费

使用高并发模式时,仅对启动共享 Spark 应用程序的 启动会话 计费。 共享同一 Spark 会话的所有后续会话 不会产生额外的计费。 此方法为在共享上下文中运行多个并发工作负荷的团队和用户启用成本优化。

📌 例:

  • 用户启动 Notebook 1,该笔记本以高并发模式启动 Spark 会话。
  • 然后, Notebook 2Notebook 3Notebook 4Notebook 5 共享同一会话。
  • 在这种情况下,仅 Notebook 1 会对 Spark 计算使用计费
  • 共享笔记本(2 到 5) 不会单独计费

此计费行为也反映在 容量指标 中 , 使用情况将仅针对发起的笔记本(在本例中为笔记本 1) 报告。

注意

管道活动 中使用高并发模式时,同样的计费行为适用,仅对启动 Spark 会话的笔记本或活动收费。