如何在Databricks Workflow UI中传递动态参数(如当前日期)
在Databricks Workflow UI中配置动态参数的方案
完全可以直接在Databricks Workflow UI里配置动态参数,不需要依赖外部脚本或API,具体操作如下:
使用Databricks内置动态变量传递日期
在配置Notebook任务的参数时,直接为run_date参数设置动态值:- 进入Workflow任务编辑页面,找到「参数」(Parameters)配置区域
- 添加参数键为
run_date,参数值使用Databricks内置的动态表达式:- 取当前日期(YYYY-MM-DD格式):
${current_date} - 取当前时间戳:
${current_timestamp} - 自定义日期逻辑,比如取前一天:
${dateadd(current_date, -1, 'day')}
- 取当前日期(YYYY-MM-DD格式):
- 保存任务后,每次运行时系统会自动计算表达式值并传递给Notebook,你的代码
run_date = dbutils.widgets.get("run_date")就能正常获取到动态日期。
复杂动态逻辑的处理方式
如果需要更复杂的日期格式或自定义计算逻辑,有两种可选方案:- 直接在Notebook内计算:无需传递参数,在Notebook里用Python/Scala/Spark代码生成所需日期,比如Python代码:
from datetime import datetime run_date = datetime.utcnow().strftime("%Y-%m-%d") - 通过任务依赖传递计算值:先创建一个轻量的计算任务(比如小Notebook或Python任务),在里面计算出目标日期并输出,然后在下游Notebook任务中引用该任务的输出作为
run_date参数,这种方式也能完全在Workflow UI内配置完成。
- 直接在Notebook内计算:无需传递参数,在Notebook里用Python/Scala/Spark代码生成所需日期,比如Python代码:
内容的提问来源于stack exchange,提问作者Abubakar Saddique
相关产品推荐
相关产品推荐

