Azure Data Factory对接Databricks链接服务如何参数化Spark配置键与值
ADF Databricks链接服务Spark配置键参数化方案
基础结论
ADF 对接 Databricks 新建作业集群的场景下,原生默认的 CI/CD 参数化规则仅支持参数化 Spark 配置的值,不直接支持参数化 Spark 配置的键,但可通过自定义配置或其他辅助方式实现该需求。
具体实现方案
方案1:自定义ADF ARM模板参数规则
手动修改 ADF 代码根目录下的arm-template-parameters-definition.json文件,将 Databricks 链接服务中newClusterConfig.sparkConf节点下的目标配置键设置为可参数化字段,后续导出 ARM 模板时对应键会自动暴露为可配置参数,跨环境部署时可直接传入不同的配置键。方案2:通过Databricks集群初始化脚本动态生成配置
不在 ADF 链接服务中固定写死 Spark 配置,转而通过初始化脚本动态生成加载:- 提前编写初始化脚本,上传至 DBFS 或 Databricks 可访问的 ADLS 路径下
- 在 ADF 链接服务的集群配置中,将需要动态传入的 Spark 键、值以环境变量或脚本参数的形式配置
- 初始化脚本运行时读取传入的参数,将对应的键值对写入驱动节点路径
/databricks/driver/conf/spark-custom.conf和执行节点路径/databricks/executor/conf/spark-custom.conf,集群启动时会自动加载该自定义配置
方案3:整段替换Spark配置节点
将整个sparkConf对应的 JSON 字符串设置为 ADF 全局参数,部署时直接替换链接服务中对应的整段 Spark 配置内容,可间接实现配置键的动态参数化。
内容的提问来源于stack exchange,提问作者Aniket Karajgikar
相关产品推荐
相关产品推荐

