Databricks中常量跨Notebook访问失败及单单元格多%run命令执行问题
问题解决方案
1. 为什么dbutils.notebook.run无法访问常量
dbutils.notebook.run是独立执行目标Notebook,相当于启动一个隔离的子进程,执行完成后仅返回dbutils.notebook.exit指定的内容,不会将目标Notebook中定义的变量、常量导入当前Notebook的命名空间,因此会触发NameError。若要共享常量,必须使用%run命令。
2. 单个单元格中运行多条%run命令的正确写法
在单个单元格内,每条%run命令单独占一行即可,无需额外分隔符,示例如下:
%run /Workspace/Shared/ConfigNotebook1 %run /Workspace/Shared/ConfigNotebook2
注意事项:
- 确保目标Notebook的路径正确(可通过Notebook右上角的「复制路径」功能获取完整路径)
- 不要在
%run命令行中添加多余引号或无效符号 - 单个单元格内的
%run命令之间不要插入非魔法命令代码,否则会触发解析错误
若之前出现解析失败,大概率是路径格式错误或命令写法不规范,检查路径完整性和拼写即可。
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

