如何从数据砖的库中导入类?

时间:2019-04-21 09:07:46

标签: python pyspark python-import databricks azure-databricks

我正在蔚蓝中使用数据块来做一些机器学习工作,并且试图从特定的库中导入一个类,但是它的工作方式与以往不同。 (我通常在jupyter笔记本中编写python代码)

我正在尝试在databricks的python笔记本中运行以下命令

    from statsmodels.tsa.holtwinters import ExponentialSmoothing

我可以自行导入statsmodels,但是尝试获得这个特定的类可以给我:

ImportError: No module named 'statsmodels.tsa.holtwinters' 

它可以直接在jupyter中导入类,我习惯于在那里编写python。而且,即使我已导入statsmodels,也无法在实际代码中直接调用任何类。

要使用库中的特定类,在数据块中是否需要做一些特殊的事情?

2 个答案:

答案 0 :(得分:0)

首先,我尝试通过左侧工具栏statsmodels-> Clusters-> Interactive Clusters-> Libraries-> {{ 1}},但遇到了与您相同的问题。

然后,我重新启动集群并创建了一个笔记本,可以通过Install New进行安装,如下图所示。

enter image description here

PyPI

它可以正常工作。

注意:这是安装的临时解决方案。如果重新启动群集,则安装的%sh模块将消失。因此,在重新启动连接的集群之后,必须首先运行命令以安装%sh /databricks/python/bin/pip install -U statsmodels

答案 1 :(得分:0)

似乎几乎没有记录,但请注意,可以将笔记本加载为库。

将您的图书馆笔记本命名为 "mylib"

def foobar():
    print("woohoo")

如果你在另一个 notebook 中执行它(假设它在同一个目录中)

%run ./mylib

您可以访问其功能:

foobar()