You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Databricks中如何调用Shared文件夹下其他脚本的函数

Azure Databricks 跨脚本复用工具函数解决方案

问题原因说明

你之前使用%run出现全量执行代码的问题,是因为%run的设计逻辑是将目标脚本的所有代码完整注入当前执行上下文运行,因此会触发if __name__ == "__main__"包裹的业务逻辑,不适合工具函数复用场景。

可用解决方案

方案1:通过工作区挂载路径直接导入(最便捷,适合小范围复用)

Azure Databricks 11.3及以上版本的Runtime默认将整个工作区挂载到计算节点的/workspace路径下,可直接遵循Python标准导入规则调用,不会执行if __name__ == "__main__"包裹的代码。
操作代码如下:

import sys
# 此处路径替换为你存放dev_tools.py的父目录的绝对路径
sys.path.append("/workspace/Shared")
# 直接导入需要的函数即可
from dev_tools import multiply

# 调用示例
print(multiply(3,4))

如果后续修改了dev_tools.py的内容,可通过重载模块获取最新代码,无需重启集群:

import importlib
import dev_tools
importlib.reload(dev_tools)
from dev_tools import multiply

方案2:打包为Python包全局复用(适合多团队/全场景复用)

如果需要让全公司多个用户都能便捷调用dev_tools中的工具,可按如下操作配置:

  • 按Python包规范整理dev_tools代码,补充setup.py或pyproject.toml配置文件
  • 将代码打包为wheel格式的安装包
  • 将wheel包上传到Azure Databricks工作区库/集群库,关联到业务使用的集群
  • 所有使用对应集群的脚本都可以直接执行from dev_tools import multiply调用,无需额外配置路径

内容的提问来源于stack exchange,提问作者Ashish soni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:15:04