【问题标题】:How to add whole python application into azure databricks and run it?如何将整个 python 应用程序添加到 azure databricks 中并运行它?
【发布时间】: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


【解决方案1】:

您可以复制您的 Python 代码并将其粘贴到 Databricks 笔记本的单元格中,然后以这种方式运行。

您还可以使用 Databricks CLI 将您的导入文件上传到 Databricks 工作区。
https://docs.databricks.com/dev-tools/cli/workspace-cli.html

Databricks python notebooks 只是带有一些特殊 cmets 的 .py 文件。

【讨论】:

  • 嗯,是的,我知道。我设法将模型作为轮子导入,但我丢失了代码提供的交互式 CLI 方法。我认为使用小部件来模拟 cli 行为将 main 重写为笔记本,这可能是正确的。我们也可以使用 hyperopt 和 mlflow 更好地监控模型。
  • 我相信也可以直接登录工作节点并从终端运行东西,我认为这可能会给你想要的东西。这种方式并没有真正记录在案。
猜你喜欢
  • 2021-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多