Azure Databricks Python跨笔记本传参 被调用端参数获取方法
Azure Databricks 跨笔记本传参的接收方式
用dbutils.notebook.run()传给下游笔记本的参数,在被调用的笔记本里直接用dbutils.widgets.get()就能取到,传进来的键值对会自动注册成笔记本的临时widget参数。
notebook2 补全后的可运行代码
argument = dbutils.widgets.get("argument") argument2 = dbutils.widgets.get("argument2") print(f"argument={argument} and argument2={argument2}") dbutils.notebook.exit("Success")
注意事项
- 这种方式拿到的参数默认都是字符串类型,如果需要数字、布尔值等其他类型,要自己手动做类型转换
- 怕参数漏传导致报错的话,可以换
dbutils.widgets.getArgument()方法,第二个参数传默认值就行,比如argument = dbutils.widgets.getArgument("argument", "fallback_val"),没传对应参数的时候就会返回你设的默认值,不会直接抛异常中断任务 - 上游notebook1里拿到的
result变量,就是下游dbutils.notebook.exit()括号里传的返回值,这个示例里notebook1打印出来的结果就是Success
内容的提问来源于stack exchange,提问作者Europa
相关产品推荐
相关产品推荐

