Databricks工作流调试咨询:带参数Notebook的调试方法
在Databricks中调试带参数的工作流Notebook
方法一:用测试Notebook模拟工作流调用
- 直接新建测试Notebook,用
%run命令同步调用目标Notebook并传递参数,格式如下:%run ./目标Notebook $参数1=测试值1 $参数2=测试值2 - 在目标Notebook里用
dbutils.widgets.get("参数1")获取参数后,直接在目标Notebook的代码行左侧点击添加断点,运行测试Notebook时会自动停在断点处,就能像调试普通Notebook一样逐步执行、查看变量。 - 如果需要模拟异步调用场景,也可以用
dbutils.notebook.run(),但同步的%run更适合断点调试。
方法二:直接用工作流的调试功能
- 进入工作流的任务配置页面,选好要调试的Notebook任务,填好和生产一致的参数,点击调试按钮(不是正式运行)。
- Databricks会启动临时集群执行该任务,只要你提前在目标Notebook里设置好断点,执行过程中就会触发断点调试,和在Notebook里直接调试的体验一致。
- 注意要匹配生产集群的配置,避免环境差异导致调试结果不准。
方法三:临时添加日志快速排查
- 如果断点调试暂时不方便,在目标Notebook的关键位置加日志输出,比如开头先打印所有传入的参数:
print("当前传入的所有参数:", dbutils.widgets.all()) - 也可以在关键逻辑后输出中间变量值,或者用
dbutils.notebook.exit("调试输出:xxx")提前终止任务并返回结果,快速定位参数传递或逻辑问题。
内容的提问来源于stack exchange,提问作者Thomas Segato
相关产品推荐
相关产品推荐

