运行 来自 Repo Databricks 中另一个笔记本的笔记本

Run a notebook from another notebook in a Repo Databricks

我有一个在 repo 文件夹中有功能的笔记本,我正试图 运行 在另一个笔记本中。

通常我可以运行这样:%run /Users/name/project/file_name

所以我将这两个文件(function_notebook、processed_notebook)克隆到 Databricks 中的一个 Repo 中。

当我尝试复制我刚刚克隆的路径时,只出现这个选项:Copy File Path relative to Root

但是在 Workspace 用户文件夹中,选项是 Copy File Path

显然我不太明白相对路径和工作区路径之间的区别。

如何运行 克隆到 repo 中的笔记本?

层次结构:

RepoName(有 2 个文件夹):

  1. 文件夹 1 Notebook1

  2. 文件夹 2 Notebook2

我在 Notebook1 想要 运行 Notebook2

%run ../Folder2/Notebook2

这是一个 UI 问题,已报告给开发团队。在那之前,您需要自己创建路径。不同之处在于它以 /Repos 而非 /Users 开头。我有一个 small demo 展示了如何使用 Repos 执行测试等 - 如果您对细节感兴趣。

但是如果文件在同一个存储库中,那么您不需要使用完整路径,这会降低它们的可移植性 - 您可以使用相对路径,例如 ./file_name 将笔记本包含在当前文件夹,或 ../file_name 包含上一级文件夹中的文件,或 ./folder/file_name 包含子文件夹中的文件 - 但不指定文件扩展名。在这种情况下,您的代码是可移植的,并且可以在不同的结帐中使用。

示例:

笔记本2:

笔记本1:

工作区路径和相对路径的名称区别在于,前者为您提供工作区内的完整路径,而后者为您提供相对于 Repo 根目录的路径

我的笔记本名为“UserLibraries”,我成功地运行它在单独的单元格中,没有任何其他命令。也许是这样。如果路径正确,我可以通过单击路径(它变成超链接)在新浏览器 window 中打开名为 NB(见图)。