如何设置Databricks工作流的notebook_path适配部署位置?
解决Databricks工作流中Notebook路径无法访问的问题
问题原因
你使用本地相对路径../../src/data_extraction/xx/test.py指定notebook路径,但Databricks Bundle部署后,本地文件会被上传到Workspace的/Workspace/Users/xx@xx.com/.bundle/bundlename/dev/files目录下,本地相对路径在Workspace环境中不生效,导致系统找不到目标文件。
解决方案
方法一:使用Bundle内置变量(推荐)
Databricks Bundle提供${bundle.paths.files}内置变量,会自动指向部署后的文件根目录。修改yaml中的notebook_task配置:
- task_key: notebook_task job_cluster_key: job_cluster notebook_task: notebook_path: ${bundle.paths.files}/src/xx/xx/test.py
该变量会根据当前部署环境(如dev、prod)自动替换为对应Workspace路径,无需硬编码,适配性更强。
方法二:使用绝对Workspace路径
直接填写部署后的完整绝对路径,适合临时测试场景:
- task_key: notebook_task job_cluster_key: job_cluster notebook_task: notebook_path: /Workspace/Users/xx@xx.com/.bundle/bundlename/dev/files/src/xx/xx/test.py
注意:这种方式硬编码了环境路径,切换部署环境时需要手动修改,不推荐长期使用。
验证步骤
部署完成后,登录Databricks Workspace,导航到/Users/xx@xx.com/.bundle/bundlename/dev/files目录,确认src/xx/xx/test.py文件存在,同时检查路径拼写与本地文件结构是否一致。
内容的提问来源于stack exchange,提问作者Thomas Segato
相关产品推荐
相关产品推荐

