如何将本地模块导入Azure Databricks笔记本?

时间:2019-09-18 11:17:35

标签: python azure databricks azure-databricks

我试图在databrick的笔记本中使用一个模块,但是我完全被阻止了。我想执行以下命令或类似的命令来创建MyClass

的实例
from mypackage.mymodule import MyClass

在databrick的documentation之后,我在本地开发了一个带有单个模块的python软件包,如下所示:

mypackage
|- __init__.py
|- setup.py
|- mymodule.py

然后运行python setup.py bdist_wheel获得一个.whl文件。该目录最终被

mypackage
|- build
   |- ... whatever
|- src.egg-info
   |- ... whatever
|- dist
   |- src-0.1-py3-none-any.whl
|- __init__.py
|- setup.py
|- mymodule.py

我已按照指示将.whl文件上传到工作区。但是现在我无法将MyClass导入任何笔记本。

我尝试了以下所有方法:

  • 上传.whl(带有和不带有名称)。
  • 将安装.whl的文件import mypackage上载到群集中。
  • 使用dbutils.library.install('dbfs:/path/to/mypackage.whl/')
  • 使用True(返回import ...),然后使用.whl
  • 代替上传Shared,而是在与笔记本相同的目录中创建package文件夹。
  • 上传到我的文件夹和import differentname文件夹
  • 以上所有组合。 f.ex:使用其他名称上传并使用val dialog=Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);

这使我发疯。我的任务如此简单,可以用普通笔记本轻松实现。

1 个答案:

答案 0 :(得分:1)

我已经通过使用python的egg而不是wheel解决了这个问题。 python setup.py bdist_egg将创建一个鸡蛋,您可以安装以下databricks文档。我不知道为什么wheel不起作用...