从 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
stack overflow Run a notebook from another notebook in a Repo Databricks
原文答案
author avatar

接受的答案

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

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

例子:

笔记本2:

enter image description here

笔记本1:

enter image description here

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


答案:

作者头像

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