运行 Azure Databricks 上的 Bokeh 服务器?

Run Bokeh server on Azure Databricks?

我在本地使用Bokeh server to visualize data. I tried doing this in Azure's version of Databricks as well, but couldn't get even the first lines of this simple example到运行:

from bokeh.io import push_notebook, show, output_notebook
from bokeh.plotting import figure
output_notebook() # <- fails

失败并出现以下错误:

TypeError: publish_display_data() missing 1 required positional argument: 'data'

我进一步调查,发现 databricks 显然是用 IPython 2.2.0 构建的,已经超过 4 年了!

import IPython
IPython.__version__ # Returns '2.2.0'

有什么我可以做的吗?有没有人在 Databricks 中 运行ning 散景服务器取得成功?我想要某种交互式仪表板,而 Databricks 自己的仪表板 非常 有限

正如您所注意到的,IPython 2.2.0 是古老的。我不确定您需要追溯到多远的 Bokeh 版本才能找到支持它的版本。函数 publish_display_data 是 Juypter/IPython API,不幸的是,这些年来它发生了一些重大变化。 Bokeh 项目曾经为其维护一个兼容性 polyfill,以尝试平滑这些更改,并支持旧版本,但它在去年的这次提交中被删除:

https://github.com/bokeh/bokeh/commit/fb3f9cc4f9e9af786698462a9849e46c0ea34cf2

在那次提交之后,4.3 是任何使用的最低笔记本版本。在那次提交之前,一些早期的 Jupyter 版本会起作用,但我不能确切地说早了多少,而且我不能保证嵌入的 Bokeh 服务器应用程序会起作用(即很可能只有内联独立图会起作用)嵌入式Bokeh 服务器应用程序从未在 Jupyter 4.3 之前的任何版本上进行过测试,我永远不会声称 Bokeh 支持比 Jupyter 4.3 更早的笔记本版本中的嵌入式应用程序。

TLDR;我非常怀疑 IPython 2.2.0

是否可行