在 Microsoft Fabric 中配置资源配置文件设置

Microsoft Fabric 现在支持 预定义的 Spark 资源配置文件,这是数据工程师根据工作负载需求优化 Spark 配置的简单而强大的方法。 通过这些配置文件,用户可以使用基于属性包的方法快速应用针对常见模式(例如读取密集型、写入密集型或混合工作负荷)的优化最佳做法。

无论是引入 TB 的流媒体数据还是运行高性能分析查询,资源配置文件都提供了快速的性能路径,无需手动调优 Spark。

资源概况的优点

  • 默认性能 – 直接应用经过验证的负载优化的 Spark 设置。
  • 灵活性 - 根据引入和查询模式选择或自定义配置文件。
  • 微调的 Spark 配置 - 避免反复试验调整并减少操作开销。

注释

所有 新的 Fabric 工作区 现在默认设置为 writeHeavy 配置文件,以实现最佳的引入性能。 这包括为大规模 ETL 和流式处理数据工作流定制的默认配置。

可用资源档案

Microsoft Fabric 目前支持以下用户配置文件:

个人资料 用例 配置属性
readHeavyForSpark 针对频繁读取的 Spark 工作负荷进行优化 spark.fabric.resourceProfile = readHeavyForSpark
readHeavyForPBI 针对 Delta 表的 Power BI 查询进行了优化 spark.fabric.resourceProfile = readHeavyForPBI
writeHeavy 针对高频率输入和写入进行优化 spark.fabric.resourceProfile = writeHeavy
custom 完全用户定义的配置 spark.fabric.resourceProfile = custom

每个配置文件的默认配置值

资源概况 配置
writeHeavy {"spark.sql.parquet.vorder.default": "false", "spark.databricks.delta.optimizeWrite.enabled": "false", "spark.databricks.delta.optimizeWrite.binSize": "128", "spark.databricks.delta.optimizeWrite.partitioned.enabled": "true", "spark.databricks.delta.stats.collect": "false"}
readHeavyForPBI {"spark.sql.parquet.vorder.default": "true", "spark.databricks.delta.optimizeWrite.enabled": "true", "spark.databricks.delta.optimizeWrite.binSize": "1g"}
readHeavyForSpark {"spark.databricks.delta.optimizeWrite.enabled": "true", "spark.databricks.delta.optimizeWrite.partitioned.enabled": "true", "spark.databricks.delta.optimizeWrite.binSize": "128"}
custom (例如, fastIngestProfile 由用户完全定义的设置。 示例:{"spark.sql.shuffle.partitions": "800", "spark.sql.adaptive.enabled": "true", "spark.serializer": "org.apache.spark.serializer.KryoSerializer"}

小窍门

可以使用一个有意义的名称来命名自定义配置文件,以反映工作负荷模式,例如 fastIngestProfilelowLatencyAnalytics

如何配置资源模板

可以使用两种不同的方法在 Microsoft Fabric 中配置资源配置文件:

1. 使用环境设置资源配置集

可以在 环境级别定义默认的 Spark 资源配置文件。 应用后,除非重写,否则所选配置文件将自动用于环境中的所有 Spark 作业。

步骤:

  1. 导航到 Fabric 工作区
  2. 编辑或创建新环境。
  3. Spark 配置下,设置以下属性
  4. spark.fabric.resourceProfile = writeHeavy 或 readHeavyForPBI 或 readHeavyForSpark,或者您可以选择自己的配置文件名称,并根据您的需求通过配置进行自定义。
  5. 可以选择一个已有的配置文件,还可以修改默认值,例如,可以选择 readHeavyForSpark 并将 binsize 从 128 增加到 256。

2. 在运行时配置资源配置文件 spark.conf.set

还可以使用以下命令替代笔记本执行期间的默认资源配置文件或 Spark 作业运行:

spark.conf.set("spark.fabric.resourceProfile", "readHeavyForSpark")

此方法提供执行时的灵活性,可以根据作业逻辑、时间安排或工作负荷类型更改行为,从而为笔记本的不同部分分配不同的配置文件。

注释

如果同时设置了环境和运行时配置,则运行时设置优先。

默认情况下会发生什么情况?

在 Microsoft Fabric 中,所有新建的工作区默认使用 writeHeavy 配置文件。 这可确保:

  • 高效处理数据引入管道
  • 批处理和流式处理作业的优化吞吐量
  • 适用于常见 ETL 工作负载的开箱即用性能更佳

如果工作负荷不同(例如交互式查询、仪表板服务),可以在环境级别更新默认设置,或在执行期间动态重写它们。

⚠️ 重要说明:
在所有新的 Fabric 工作区上, VOrder 默认处于禁用状态spark.sql.parquet.vorder.default=false)。
此默认配置针对 写入密集型数据工程工作负荷进行了优化,可在大规模引入和转换期间实现更高的性能。

对于读取优化场景(例如 Power BI 仪表板或交互式 Spark 查询),请考虑切换到 readHeavyforSparkreadHeavyForPBI 资源配置文件,或者通过启用 VOrder 来修改属性,从而提升 Power BI 和数据仓库工作负载的查询性能。