Microsoft Fabric 中 Apache Spark 的计费和利用率报告

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

本文介绍 ApacheSpark 的计算利用率和报告,该报告为 Microsoft Fabric 中的 Synapse 数据工程和科学工作负载提供支持。 计算利用率包括湖屋操作,例如表预览、加载到增量、从接口运行、计划运行、管道中的笔记本步骤触发的运行,以及 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 计算配置和购买容量

Apache Spark for Fabric 计算在计算配置方面提供两个选项。

  1. 初学者池:这些是默认池,只需几秒钟便可以让用户轻松、快速地在 Microsoft Fabric 平台上使用 Spark。 你可以立即使用 Spark 会话,而不是等待 Spark 为你设置节点,这有助于对数据执行更多操作并更快获取见解。 在计费和容量消耗方面,在开始执行笔记本或 Spark 作业定义或湖屋操作时便需要付费。 群集在池中处于空闲状态的时间不收费。

    此示意图显示初学者池计费的大致阶段。

    例如,如果将笔记本作业提交到初学者池,则仅需为笔记本会话处于活动状态的时间段付费。 计费时间不包括空闲时间,也不包括使用 Spark 上下文对会话进行个性化设置所需的时间。 若要详细了解如何基于购买的 Fabric 容量 SKU 配置初学者池,请访问基于 Fabric 容量配置初学者池

  2. 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 提供支持。