如何获取子笔记本的Databricks笔记本上下文



如何获取";儿童笔记本;使用CCD_ 1运行?

例如,我可以使用json.loads(dbutils.notebook.entry_point.getDbutils().notebook().getContext().toJson())获取当前笔记本的笔记本上下文。

然而,在我有两个笔记本在同一文件夹中的情况下,例如notebook_1notebook_2,其中notebook_1运行notebook_2:

# notebook_1
%run "./notebook_2"
# notebook_2
import json
context = json.loads(dbutils.notebook.entry_point.getDbutils().notebook().getContext().toJson())
print(context)

运行notebook_1会打印出notebook_1的笔记本上下文,但我实际上想要notebook_2的上下文(例如获取%run0的笔记本ID)。有办法做到这一点吗?

当您使用%run时,指定为其参数的笔记本实际上是在调用方笔记本的上下文中执行的,这就是为什么您将notebook_1作为上下文的原因。如果它将在单独的上下文中执行,那么就不可能看到函数&在CCD_ 14内部的CCD_ 13中定义的变量定义。

如果要在单独的上下文中执行notebook_2,则需要使用dbutils.notebook.run(doc)

最新更新