【发布时间】:2020-04-27 03:02:46
【问题描述】:
我们有一个用 Python 编写的功能模型。我想一次复制所有代码并从 azure databricks 运行它 - 我看到有一种方法可以从 azure 数据工厂运行 python 代码,但我看到它只适用于一个 python 文件,对吗?
我知道,我可以上传一个轮子或一个鸡蛋,但那样的话,我可能不得不将它导入笔记本。我可以通过 CLI 或 azure 数据工厂访问这个轮子吗?我会失去设置参数的选项吗?
我们使用 gitlab,所以这个选项暂时不可用。
非常感谢
编辑 我想总结一下我的发现,下面的一些可能真的是错误的。
- 我可以上传一个轮子并将 python 应用程序用作库 -> 我可以将 CLI 应用程序的主应用程序重写到笔记本并导入库。
- 我可以将所有代码重写到笔记本中 -> 这可能是最好的方法,但是对于不小的尺寸的现有应用程序来说,这是很痛苦的
- 我可以创建文件夹并将python代码上传到FS,模拟Python项目并在notebook中调用...(还没试过)
- 我可以使用github导入代码(我还没试过,因为nda我无法将代码从gitlab移动到github)
- 我可以从连接到 databricks 的 IDE 运行代码
- 我可以在 Data azure 管道中运行启动 python 脚本,但我不确定轮子。
- 我可以可能使用另一个 azure 模块(哪个?将代码放在哪里?)然后使用 databricks 从 CLI 运行 python 代码 -> 但如果是 python spark 它没有意义(因为这个,我还没有尝试过)
- 我可以可能从笔记本中通过 %sh 脚本运行保存在 azure 空间中某处的 python(同样,它应该在哪里?)并传递参数。 (我还没试过
【问题讨论】:
-
我真的只是最近才遇到这个问题......我最终选择使用scala并编译了一个胖Jar。但是从 Azure 函数中获得灵感,我认为您可以将项目及其依赖项归档为 zip,并将所有依赖项放在
.python_packages文件夹中。让这个 zip 文件可以从 blob 存储中下载。单个 python 脚本将首先下载/读取 zip 文件,解压缩并将.python_packages添加到sys.path...这应该为您提供所有依赖项,以及您开发的本地结构中的源文件...只是一个想法
标签: python azure databricks azure-databricks