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

时间:2021-07-06 14:39:26

标签: jupyter-notebook databricks repo

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

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

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

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

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

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

如何运行已克隆到 repo 中的 notebook?

层次结构:

RepoName(有 2 个文件夹):

  1. 文件夹 1 Notebook1

  2. Folder2 Notebook2

我在 Notebook1 想跑 Notebook2

%run ../Folder2/Notebook2

1 个答案:

答案 0 :(得分:1)

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

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

示例:

Notebook2:

enter image description here

笔记本 1:

enter image description here

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