首页 > 解决方案 > dbutils.notebook.run 不选择保存在 DBFS 位置的运行笔记本

问题描述

我将我的 databricks 工作区目录 (/Users/xyz/) 内容导出到一个 databricks 特定位置,例如 /dbfs/tmp,然后尝试调用以下代码来运行名为 xyz.py 的 python 笔记本导出位置如下:

dbutils.notebook.run("/dbfs/tmp/xyz", timeout_seconds=1200)

OR

dbutils.notebook.run("dbfs:/tmp/xyz", timeout_seconds=1200)

OR

dbutils.notebook.run("../../tmp/xyz", timeout_seconds=1200)

dbutils 始终无法找到笔记本路径并给出以下异常:

com.databricks.WorkflowException: com.databricks.NotebookExecutionException: Unknown state: Notebook not found: /dbfs:/tmp/xyz

虽然如果我检查笔记本是否存在相同的 dbfs 路径,那么我可以看到笔记本已被放置。

如何使用数据块中的特定位置运行 dbutils.notebook.run 语句?

标签: databricksdbutils

解决方案


这是 dbutils.notebook.runs 的例外行为。当您指定其他位置时,"/Users/abc@org.com/notebookname"它会引发以下错误消息com.databricks.WorkflowException: com.databricks.NotebookExecutionException: Unknown state: Notebook not found: /tmp/mount.dbc

我建议您将所有笔记本放在用户下,然后您可以使用dbuitls.notebook.run("/Users/abc@org.com/NotebookName").

在此处输入图像描述


推荐阅读