Databricks中dbutils.notebook.run相对路径适配及通用方案问询
Databricks Notebook 路径归一化通用方案求助
背景
我们团队习惯用Notebook实现库函数,通过%run指令导入复用:
%run ../../common/email_functions
在这个email_functions Notebook里,有一段发送邮件的核心函数逻辑:
def send_email(params): dbutils.notebook.run('../dispatch_email', 0, {"p_from":p_from, "p_to":"", "p_subject":p_subject, "p_content":content_str, "status":process_status})
(以上为示例代码,基于团队多年增量开发的核心逻辑)
核心问题
我们推测dbutils.notebook.run使用的相对路径是基于当前工作目录,而非调用该函数的Notebook所在位置。现在担心这种相对路径在主节点能正常运行,但在执行节点会失效,急需一套路径归一化的通用模式。
已尝试的方案(仍存在问题)
我们试过以下代码来切换工作目录,但仍偶尔出现NotebookNotFound错误,怀疑这不是通用解决方案:
cur_path = os.path.dirname( dbutils.notebook.entry_point.getDbutils() .notebook() .getContext() .notebookPath() .get() ) os.chdir(f"/Workspace/{cur_path}")
内容的提问来源于stack exchange,提问作者Mike Crowe
相关产品推荐
相关产品推荐

