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

如何在外部Notebook中按顺序传参调用Databricks Notebook(不指定参数名)

解决方案:按位置参数风格调用Databricks Notebook

首先明确:dbutils.notebook.run的第三个参数必须是字典类型(Dict[str, str]),要求键值对形式传递参数,你写的{"param1_value", "param2_value"}是集合,类型不匹配,所以无法运行。

如果想按参数顺序传递、不想指定参数名,可以用以下两种方式实现:

方式1:主Notebook封装参数配对

提前维护参数名的顺序列表,将位置参数值与参数名自动配对成字典:

# 主Notebook main_notebook 中的代码
param_values = ["param1_value", "param2_value"]  # 按顺序传值
param_names = ["param1", "param2"]               # 对应notebook1的参数名顺序
params = dict(zip(param_names, param_values))

dbutils.notebook.run("/path/to/notebook1", 60, params)

这样后续只需修改param_values的内容,不用重复写参数名,保持位置传参的简洁性。

方式2:被调用Notebook适配位置参数格式

在主Notebook中把参数值打包成列表(转成字符串传递),被调用的notebook1读取后解析为位置参数:

主Notebook代码:

import json
# 按顺序传递参数值,打包为JSON字符串
args_json = json.dumps(["param1_value", "param2_value"])
dbutils.notebook.run("/path/to/notebook1", 60, {"args": args_json})

被调用Notebook(notebook1)代码:

import json
# 读取并解析参数列表
args = json.loads(dbutils.widgets.get("args"))
param1 = args[0]
param2 = args[1]

# 后续业务逻辑使用param1和param2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:07:04