【问题标题】:Run a notebook from another notebook in a Repo Databricks从 Repo Databricks 中的另一个笔记本运行一个笔记本
【发布时间】:2022-01-21 21:16:47
【问题描述】:

我有一个在 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. 文件夹1Notebook1

  2. 文件夹2Notebook2

我在Notebook1 想要运行Notebook2

%run ../Folder2/Notebook2

【问题讨论】:

    标签: jupyter-notebook databricks repo databricks-repos


    【解决方案1】:

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

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

    例子:

    笔记本2:

    笔记本1:

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

    【讨论】:

    • 试过但没用。向 repo 的层次结构添加了详细信息。
    • 文件夹或笔记本名称是否带有空格?
    • 没有空格。
    • 可能是因为我在一个尚未与主分支合并的分支中?
    • 我就是这么做的。输出消息包括 py 但我没有将 .py 放在我的 %run 语句中
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2018-09-23
      • 1970-01-01
      • 2019-04-18
      • 2020-05-17
      • 2020-03-11
      • 2020-03-04
      • 1970-01-01
      • 1970-01-01
      • 2022-10-19
      相关资源
      最近更新 更多