如何在Databricks Notebook中导入本地模块以共享函数?
在Databricks中跨Notebook共享Python函数的解决方案
以下是几种可行的方法,根据你的场景选择即可:
1. 直接导入Workspace中的Python文件
将你的通用函数文件(例如common_utils.py)放置在/workspace/Shared/Notebooks/目录下,然后在目标Notebook中使用标准Python导入语法:
# 路径对应你的实际文件位置 from workspace.Shared.Notebooks.common_utils import func1, func2
注意:Workspace路径在导入时直接使用workspace.作为起始前缀,无需额外文件系统前缀。
2. 利用Databricks Repos管理共享代码
如果使用Databricks Repos功能,将通用函数文件和你的Notebook放在同一个Repo目录下,导入路径会更简洁:
from common_utils import func1
这种方式自带版本控制,适合团队协作场景,代码更新和同步更方便。
3. 打包为Databricks库复用
如果你的通用函数需要在多个集群或大量Notebook中使用,可以将其打包成Python wheel/egg文件,上传到Databricks作为库:
- 在集群的"库"页面安装这个自定义库
- 之后在任意Notebook中直接导入:
from common_utils import func1
4. 读取文件内容并执行(快速临时方案)
如果不想调整文件位置或打包,也可以直接读取Python文件内容并执行:
with open("/dbfs/workspace/Shared/Notebooks/common_utils.py", "r") as f: exec(f.read())
执行后,文件中的所有函数会直接加载到当前Notebook的命名空间中,可直接调用。
内容的提问来源于stack exchange,提问作者Smith Winston
相关产品推荐
相关产品推荐

