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

如何在Databricks DBX的deployment.yaml中为Notebook任务传参并读取?

Databricks DBX Notebook任务参数传递配置与读取方法

当然可以给Notebook任务传递参数,配置和读取方法如下:

一、在deployment.yaml中配置参数

在notebook_task节点下添加parameters字段,格式为字符串数组,示例如下:

workflows:
  - name: "your-job-name"

job_clusters:
  - job_cluster_key: "basic-cluster"
    <<: *basic-static-cluster
  - job_cluster_key: "basic-autoscale-cluster"
    <<: *basic-autoscale-cluster

tasks:
  - task_key: "task1"
    python_wheel_task:
      package_name: "some-pkg"
      entry_point: "some-ep"
      parameters: ["param1","param2"]

  - task_key: "your-task-03"
    job_cluster_key: "basic-cluster"
    notebook_task:
      notebook_path: "/Repos/some/project/notebook"
      parameters: ["param_value_1", "param_value_2"]  # 新增的Notebook参数配置
    depends_on:
      - task_key: "your-task-01"

二、在Notebook中读取参数

有两种常用方式读取传递的参数:

1. 使用Databricks Widgets(推荐)

先在Notebook中定义对应输入widget,再读取参数值:

# 定义字符串类型widget,名称可自定义,默认值可选
dbutils.widgets.text("param1", "", "第一个参数")
dbutils.widgets.text("param2", "", "第二个参数")

# 读取参数值
param1_value = dbutils.widgets.get("param1")
param2_value = dbutils.widgets.get("param2")

print(f"参数1的值:{param1_value}")
print(f"参数2的值:{param2_value}")

注意:传递的参数会按顺序对应到widget的定义顺序,第一个参数对应第一个定义的widget,以此类推。

2. 通过sys.argv读取(适用于Python Notebook)

直接从命令行参数中读取,传递的参数会作为sys.argv的元素(索引0为Notebook路径,参数从索引1开始):

import sys

if len(sys.argv) > 1:
    param1_value = sys.argv[1]
    param2_value = sys.argv[2]
    print(f"参数1的值:{param1_value}")
    print(f"参数2的值:{param2_value}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 17:42:40