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

如何在现有bash脚本中调用Databricks API配置初始化脚本

在Bash脚本中接入Databricks初始化脚本API操作步骤

前置准备

  • 提前获取Databricks工作区访问权限,生成个人访问Token
  • 确认目标集群ID、初始化脚本在DBFS中的存放路径、集群节点配置等参数

操作方法

你可以选择两种认证方式嵌入脚本:

  1. 使用.netrc认证(对应官方示例的-n参数)
    提前在执行脚本的用户家目录下创建.netrc文件,写入以下内容:
machine <databricks-instance>
login token
password <你的Databricks个人访问Token>

修改文件权限为600:chmod 600 ~/.netrc
2. 直接在请求头中传入Token(更适合脚本内配置,无需依赖本地文件)

嵌入脚本的示例代码

以下是可直接在Bash脚本中使用的API调用示例,变量可根据实际情况替换:

# 先定义变量,方便统一修改
DATABRICKS_INSTANCE="你的工作区域名,如abc.cloud.databricks.com"
CLUSTER_ID="目标集群ID"
NODE_TYPE="你用的节点规格,如m5.xlarge"
SPARK_VERSION="8.4.x-scala2.12"
INIT_SCRIPT_PATH="dbfs:/FileStore/你的初始化脚本路径.sh"
DB_TOKEN="你的Databricks个人访问Token"

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer ${DB_TOKEN}" -d '{
  "cluster_id": "'"${CLUSTER_ID}"'",
  "num_workers": 1,
  "spark_version": "'"${SPARK_VERSION}"'",
  "node_type_id": "'"${NODE_TYPE}"'",
  "cluster_log_conf": {
    "dbfs" : {
      "destination": "dbfs:/cluster-logs"
    }
  },
  "init_scripts": [ {
    "dbfs": {
      "destination": "'"${INIT_SCRIPT_PATH}"'"
    }
  } ]
}' https://${DATABRICKS_INSTANCE}/api/2.0/clusters/edit

注意事项

  • 上述示例中使用了Bash变量拼接JSON的写法,避免单引号包裹导致变量无法解析的问题
  • 调用接口前确认目标集群处于停止状态,部分集群配置修改需要重启集群才能生效
  • 你可以根据需求调整init_scripts数组,添加多个初始化脚本
  • 若你需要创建新集群而非修改现有集群,将接口地址后缀改为api/2.0/clusters/create即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:57:04