适用于:✅Microsoft Fabric 中的数据工程和数据科学
本文介绍 ApacheSpark 的计算利用率和报告,该报告为 Microsoft Fabric 中的 Fabric 数据工程和科学工作负载提供支持。 计算利用率包括湖屋操作,例如表预览、加载到增量、从接口运行、计划运行、管道中的笔记本步骤触发的运行,以及 Apache Spark 作业定义运行。
与 Microsoft Fabric 中的其他体验一样,数据工程还使用与工作区关联的容量来运行这些作业,并且整个容量费用显示在 Azure 门户中的“Microsoft 成本管理订阅”下面。 若要了解有关 Fabric 计费的详细信息,请参阅了解 Fabric 容量的 Azure 帐单。
Fabric 容量
用户可以通过指定使用某种 Azure 订阅而从 Azure 购买 Fabric 容量。 容量的大小决定可用的计算能力。 对于 Apache Spark for Fabric,购买的每个 CU 都转换为 2 个 Apache Spark VCore。 例如,如果购买 Fabric 容量 F128,则转换为 256 个 SparkVCore。 Fabric 容量在添加了该容量的所有工作区之间共享,从与容量关联的所有工作区提交的所有作业也会共享其中允许的总 Apache Spark 计算。 若要了解 Spark 上的不同 SKU、核心分配和限制,请参阅 Apache Spark for Microsoft Fabric 中的的并发限制和队列。
Spark 的自动伸缩计费方案
Spark 自动缩放计费 引入了适用于 Microsoft Fabric 中 Spark 应用场景的灵活按需付费计费模型。 启用此模型后,Spark 作业将使用专门的无服务器资源,而不是消耗来自 Fabric 平台的计算容量。 此无服务器选项可优化成本,并提供无资源争用的可伸缩性。
启用后, 自动缩放计费 允许设置最大容量单位(CU)限制,以控制预算和资源分配。 Spark 作业的计费仅基于作业执行期间使用的计算,无需空闲计算成本。 每个 Spark 作业的成本保持不变(0.5 CU 小时),并且只需为活动作业的运行时付费。
自动缩放计费的主要优势:
- 成本效益:仅支付 Spark 作业运行时的费用。
- 独立缩放:Spark 工作负载独立于其他工作负荷需求进行缩放。
- 企业级准备:与 Azure 配额管理集成,实现灵活扩展。
自动调整计费的工作原理:
- Spark 作业不再使用 Fabric 容量中的 CU,而是使用无服务器资源。
- 可以设置最大 CU 限制,使其与预算或治理策略保持一致,确保可预测成本。
- 达到 CU 限制后,Spark 作业将排队(批处理作业)或限流(交互式作业)。
- 没有空闲计算成本,并且仅对活动作业计算使用量计费。
有关更多详细信息,请参阅 Spark 的自动缩放计费概览。
Spark 计算配置和购买容量
Apache Spark for Fabric 计算在计算配置方面提供两个选项。
初学者池:这些是默认池,只需几秒钟便可以让用户轻松、快速地在 Microsoft Fabric 平台上使用 Spark。 你可以立即使用 Spark 会话,而不是等待 Spark 为你设置节点,这有助于对数据执行更多操作并更快获取见解。 在计费和容量消耗方面,在开始执行笔记本或 Spark 作业定义或湖屋操作时便需要付费。 群集在池中处于空闲状态的时间不收费。
例如,如果将笔记本作业提交到初学者池,则仅需为笔记本会话处于活动状态的时间段付费。 计费时间不包括空闲时间,也不包括使用 Spark 上下文对会话进行个性化设置所需的时间。 若要详细了解如何基于购买的 Fabric 容量 SKU 配置初学者池,请访问基于 Fabric 容量配置初学者池
Spark 池:这些是自定义池,你可以在其中自定义数据分析任务所需的资源大小。 可以为 Spark 池命名,并选择节点(执行工作的计算机)的数量和大小。 还可以指示 Spark 如何根据工作量调整节点数。 Spark 池免费创建;只需为在池中运行 Spark 作业的时段付费,然后 Spark 将为你设置节点。
- 自定义 Spark 池中可以具有的节点的大小和数量取决于 Microsoft Fabric 容量。 可以使用这些 Spark VCore 为自定义 Spark 池创建不同大小的节点,前提是 Spark VCore 总数不超过 128。
- Spark 池的计费方式与初学者池类似,除非为运行笔记本或 Spark 作业定义创建了活动 Spark 会话,否则无需为已创建的自定义 Spark 池付费。 只需为作业运行的时间付费。 无需为作业完成后的群集创建和分配解除等阶段付费。
例如,如果将笔记本作业提交到自定义 Spark 池,则仅对会话处于活动状态的时间段收费。 Spark 会话停止或过期后,对该笔记本会话的计费将停止。 从云中获取群集实例所花费的时间或初始化 Spark 上下文所花费的时间无需付费。 若要详细了解如何基于购买的 Fabric 容量 SKU 配置 Spark 池,请访问基于 Fabric 容量配置池
注意
你创建的初学者池和 Spark 池的默认会话过期时间设置为 20 分钟。 如果在会话过期后 2 分钟内未使用 Spark 池,则会解除分配 Spark 池。 若要在会话到期时间之前完成笔记本执行后停止会话和计费,可从笔记本主页单击“停止会话”按钮,或转到“监视中心”页面并停止会话。
Spark 计算使用情况报告
Microsoft Fabric 容量指标应用在一个位置提供了所有 Fabric 工作负载的容量使用情况的可见性。 容量管理员可使用它来监视工作负载的性能及其与购买的容量相比较的使用情况。
安装应用后,从“选择项类型:”下拉列表中选择项类型:Notebook、Lakehouse、Spark 作业定义。 现在可以将“多度量带状图”统计图调整到所需的时间范围,以了解所有这些选定项目的使用情况。
所有与 Spark 相关的操作都分类为后台操作。 Spark 的容量消耗显示在 Notebook、Spark 作业定义或 Lakehouse 下,并按操作名称和项进行聚合。 例如:如果运行笔记本作业,可以看到笔记本运行、笔记本使用的 CU(Spark VCore 总数/2 为 1 CU 提供 2 个 Spark VCore),该作业在报表中所用的持续时间。
若要详细了解 Spark 容量使用情况报告,请参阅监视 Apache Spark 容量消耗
计费示例
请参考以下方案:
容量 C1 托管 Fabric 工作区 W1,此工作区包含湖屋LH1 和笔记本 NB1。
- 笔记本 (NB1) 或 Lakehouse(LH1) 执行的任何 Spark 操作都将针对 C1 容量进行报告。
将此示例扩展到如下情况:有另一个容量 C2,其托管 Fabric 工作区 W2,假设此工作区包含 Spark 作业定义 (SJD1) 和 Lakehouse (LH2)。
- 如果工作区 (W2) 中的 Spark 作业定义 (SDJ2) 从 Lakehouse (LH1) 读取数据,则会根据与托管项目的工作区 (W2) 相关联的容量 C2 报告使用情况。
- 如果 Notebook (NB1) 从 Lakehouse(LH2) 执行读取操作,则会针对容量 C1 报告容量消耗,而 C1 是为承载笔记本项的工作区 W1 提供支持。
为 Spark 启用 自动缩放计费 后,对 用于 Spark 容量的自动缩放 CU 计量表 进行使用情况报告。 此单独的计量直接跟踪计算使用情况,并反映在 Azure 订阅 的成本分析 部分中,允许管理员使用自动缩放计费监视与 Spark 工作负荷相关的成本。
在 Azure 成本分析中跟踪自动缩放计费:
启用自动扩展计费后,使用 Azure 的内置成本管理工具跟踪费用:
- 导航到 Azure 门户。
- 选择链接到 Fabric 容量的 订阅 。
- 在订阅页中,转到 成本分析。
- 按资源(构造容量)进行筛选并使用计量: Spark 容量使用情况 CU 的自动缩放。
- 使用自动缩放计费查看 Spark 工作负载的实时计算支出。