You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Databricks:工作区级别添加Spark配置方法及全局初始化脚本示例

在Azure Databricks工作区级别全局配置Spark参数并同步到所有集群

方法一:使用全局初始化脚本

通过工作区级别的初始化脚本,所有集群启动时会自动执行该脚本,将Spark配置应用到每个节点。

1. 编写全局初始化脚本

创建一个Shell脚本,用于修改Spark默认配置文件,示例如下:

#!/bin/bash
# 工作区全局Spark配置初始化脚本

# 定位Spark默认配置文件路径(Databricks集群固定路径)
SPARK_DEFAULTS_CONF="/databricks/spark/conf/spark-defaults.conf"

# 添加/更新Spark核心配置
echo "spark.driver.memory 8g" >> $SPARK_DEFAULTS_CONF
echo "spark.executor.memory 16g" >> $SPARK_DEFAULTS_CONF
echo "spark.executor.cores 4" >> $SPARK_DEFAULTS_CONF
echo "spark.sql.shuffle.partitions 200" >> $SPARK_DEFAULTS_CONF

# 配置序列化优化
echo "spark.serializer org.apache.spark.serializer.KryoSerializer" >> $SPARK_DEFAULTS_CONF
echo "spark.kryoserializer.buffer.max 512m" >> $SPARK_DEFAULTS_CONF

# 自定义配置项(按需添加)
echo "spark.custom.config.key custom-value" >> $SPARK_DEFAULTS_CONF

# 确保配置文件权限正确
chmod 644 $SPARK_DEFAULTS_CONF

2. 部署脚本到工作区

  • 将脚本上传至DBFS路径,比如dbfs:/databricks/init_scripts/global_spark_config.sh
    • 可通过Databricks UI的DBFS浏览器上传,或使用CLI命令:databricks fs cp ./global_spark_config.sh dbfs:/databricks/init_scripts/

3. 配置工作区全局初始化脚本

  1. 进入Azure Databricks工作区的管理控制台
  2. 切换到集群 -> 全局初始化脚本页面
  3. 点击添加脚本,选择DBFS路径并填入刚才的脚本地址
  4. 启用该脚本并保存设置

生效说明

  • 新创建的集群会自动执行该脚本,配置立即生效
  • 已运行的集群需要重启才能应用新配置

方法二:使用集群策略强制配置(更可控)

如果需要禁止用户在集群创建时修改配置,可通过工作区集群策略实现全局强制配置:

  1. 进入管理控制台 -> 集群策略 -> 创建策略
  2. 在策略定义中添加Spark配置规则,示例JSON:
{
  "spark_conf.spark.driver.memory": {
    "type": "fixed",
    "value": "8g"
  },
  "spark_conf.spark.executor.memory": {
    "type": "fixed",
    "value": "16g"
  },
  "spark_conf.spark.sql.shuffle.partitions": {
    "type": "fixed",
    "value": "200"
  },
  "spark_conf.spark.serializer": {
    "type": "fixed",
    "value": "org.apache.spark.serializer.KryoSerializer"
  }
}
  1. 将该策略设置为工作区默认策略,所有新集群会自动继承这些配置

验证配置是否生效

  1. 启动集群后,打开Spark UI的环境标签页,搜索对应配置项确认值
  2. 在Notebook中运行代码验证:
# 打印配置值
print("Driver内存:", spark.conf.get("spark.driver.memory"))
print("Shuffle分区数:", spark.conf.get("spark.sql.shuffle.partitions"))

内容的提问来源于stack exchange,提问作者ChirGors

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:25:38