如何在Databricks作业关联的notebook中读取notebook_params参数
Databricks Notebook 获取作业传入参数的方法
你可以直接用Databricks内置的dbutils.widgets模块获取notebook_params中传入的所有参数,不同开发语言的实现方式如下:
Python 实现
- 步骤1(可选,推荐):提前声明参数,方便手动调试时在Notebook界面手动输入参数值
# 第一个参数是参数名,第二个是默认值 dbutils.widgets.text("name", "默认姓名") dbutils.widgets.text("age", "0")
- 步骤2:获取参数值
name = dbutils.widgets.get("name") # 所有传入参数默认是字符串类型,需要数值可以自行转换 age = int(dbutils.widgets.get("age"))
Scala 实现
// 声明参数 dbutils.widgets.text("name", "默认姓名") dbutils.widgets.text("age", "0") // 取值 val name = dbutils.widgets.get("name") val age = dbutils.widgets.get("age").toInt
SQL 实现
直接用${参数名}语法即可引用传入的参数:
SELECT * FROM users WHERE user_name = '${name}' AND user_age = ${age}
注意:如果仅在作业运行场景使用,也可以不提前声明参数,直接调用
get方法即可取值。提前声明参数的优势是支持Notebook手动运行时可视化填写参数,无需修改代码即可调试。
内容的提问来源于stack exchange,提问作者Sannix19
相关产品推荐
相关产品推荐

