如何从数据块中的库中导入 class?

How do I Import a class from library in databricks?

我在 azure 中使用 databricks 来做一些机器学习工作,我正在尝试从特定库中导入 class,但它的工作方式似乎与我习惯的不同。 (我通常在 jupyter notebook 中写 python 代码)

我正在尝试 运行 数据块 python 笔记本中的以下内容

    from statsmodels.tsa.holtwinters import ExponentialSmoothing

我可以自己导入 statsmodels 就好了,但是尝试得到这个特定的 class 给我:

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

直接在jupyter中导入classes就可以了,我这里习惯写python。而且,即使我导入了statsmodels,我也不能在实际代码中直接调用任何class。

我必须在数据块中做些什么才能使用库中的特定 class 吗?

起初,我尝试通过左侧工具栏 Clusters -> Interactive Clusters -> Libraries -> Install New -> 安装成功 statsmodels PyPI,但遇到了和你一样的问题。

然后我重启了我的集群,创建了notebook通过%sh安装,如下图

%sh
/databricks/python/bin/pip install -U statsmodels

它没有任何问题。

注意:这是安装的临时解决方案。如果您重新启动集群,statsmodels 安装的模块将消失。所以你必须先 运行 命令安装 statsmodels 重新启动连接的集群后。

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

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

def foobar():
    print("woohoo")

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

%run ./mylib

您可以访问其功能:

foobar()