从 azure databricks 中的另一个 ipynb 笔记本导入 ipynb 文件

Importing ipynb file from another ipynb notebook in azure databricks

我正在尝试使用

从 Azure Databricks 中的另一个笔记本导入 ipynb 笔记本
from ipynb.fs.full.test_1 import *

导入时出现以下关键错误

KeyError: 'package'

这是我的测试代码

class Test1:
  def t1():
      a=10
      b= 10
      c= a+b
      return c
Test1.t1()

我是不是漏掉了什么?

Databricks 中的笔记本不是真正的文件 - 它们类似于数据库中的条目,未存储在文件系统中。因此,您不能使用 Python 的 import 从一个笔记本编码到另一个笔记本。

现在可以使用 %run 将一个笔记本的内容包含到另一个笔记本中(参见 docs),例如,实现笔记本测试。只需将您的代码分成两部分:

  1. 有你想测试的功能的笔记本(例如命名为functions):
def func1(....):
 ....
  1. 然后在带有测试代码的笔记本中将以下内容作为一个单独的单元格
%run ./functions

这会将第一个笔记本的全部内容包含到第二个笔记本的上下文中。

我有一个 demo project 展示了如何使用这种方法在 Databricks 上测试笔记本。

P.S。通过将笔记本下载到本地文件系统,将它们添加到 sys.path 等有一个解决方法,但这很麻烦 - 您可以在 following answer.

中找到示例