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

如何在Azure Data Factory管道前期启动Databricks集群以加速执行?

解决方案:提前并行启动Databricks集群以优化ADF管道效率

可以通过ADF的Web活动调用Databricks REST API,在管道执行前期步骤的同时后台启动集群,实现并行操作压缩总耗时,具体步骤如下:

1. 准备Databricks认证信息

  • 生成Databricks个人访问令牌(PAT):在Databricks工作区的「用户设置」-「访问令牌」中创建,确保令牌拥有Can Manage集群的权限
  • 将PAT存储在Azure密钥保管库中,通过ADF的链接服务引用,避免明文暴露

2. 重构ADF管道为并行分支结构

在ADF管道中添加两个并行执行的分支:

  • 分支A:执行管道的前期步骤(如数据提取、格式校验、源数据准备等原有逻辑)
  • 分支B:通过Web活动触发Databricks集群启动

3. 配置Web活动启动集群

在分支B中添加Web活动,配置参数如下:

  • URL:https://<你的Databricks工作区域名>/api/2.0/clusters/start
    (工作区域名格式通常为adb-xxxxxx.xx.azuredatabricks.net)
  • 方法:POST
  • Headers:
    • Content-Type: application/json
    • Authorization: Bearer @{linkedService().DatabricksPAT}(假设密钥保管库链接服务名为DatabricksPAT)
  • Body:
    {
      "cluster_id": "<你的目标集群ID>"
    }
    
    (集群ID可在Databricks工作区的集群详情页获取)

4. 可选:添加集群就绪检查逻辑

为避免Notebook在集群未就绪时执行失败,可在分支B末尾添加循环检查逻辑:

  • 添加Until活动,循环调用Databricks的集群状态查询API
  • Web活动URL:https://<你的Databricks工作区域名>/api/2.0/clusters/get
  • Body:{"cluster_id": "<目标集群ID>"}
  • Until活动的终止条件:@equals(activity('GetClusterStatus').output.state, 'RUNNING')

5. 合并分支执行Notebook

等分支A的前期步骤完成,且分支B的集群就绪后,再执行Databricks Notebook活动,此时集群已处于运行状态,无需等待启动时间

注意事项

  • 如果集群已处于运行状态,调用启动API不会产生重复操作,API会直接返回成功响应
  • 确保Databricks集群的自动终止时间设置合理,避免在管道间隙提前 shutdown

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 23:20:40