运行 来自 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 Notebook1
文件夹 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(见图)。
我有一个在 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
Notebook1
文件夹 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(见图)。