pyspark matplotlib 与 Zeppelin 的集成

Posted

技术标签:

【中文标题】pyspark matplotlib 与 Zeppelin 的集成【英文标题】:pyspark matplotlib integration with Zeppelin 【发布时间】:2021-04-04 09:16:39 【问题描述】:

我正在尝试在 Zeppelin 笔记本中使用 pyspark 绘制直方图。这是我迄今为止尝试过的,

%pyspark

import matplotlib.pyplot as plt
import pandas
...
x=dateDF.toPandas()["year(CAST(_c0 AS DATE))"].values.tolist()
y=dateDF.toPandas()["count(year(CAST(_c0 AS DATE)))"].values.tolist()
plt.plot(x,y)
plt.show()

这段代码运行没有错误,但这并没有给出预期的情节。所以我用谷歌搜索发现了这个documantation,

据此,我尝试如下启用角度标志,

x=dateDF.toPandas()["year(CAST(_c0 AS DATE))"].values.tolist()
y=dateDF.toPandas()["count(year(CAST(_c0 AS DATE)))"].values.tolist()
plt.close()
z.configure_mpl(angular=True,close=False)
plt.plot(x,y)
plt.show()

但现在我收到一个名为 No module named 'mpl_config' 的错误,我不知道如何在没有这个的情况下启用 Angular。如果您能建议如何解决此问题,我们将不胜感激

【问题讨论】:

【参考方案1】:

经过一段时间的挣扎后,我注意到这是 Zepplien 笔记本上的主要 Bug,由 @Ruslan Dautkhanov 于 2020 年 11 月标记。据他介绍,

mpl_config 是 Zeppelin 核心的一部分。 旧的 Python 解释器在这里手动复制它 https://github.com/apache/zeppelin/blob/0d746fa2e2787a661db70d74035120ae3516ace3/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java#L179

但新的 IPythonInterpeter 不这样做。

我希望这将在将来解决并保留问题以供将来参考

【讨论】:

我也有同样的问题。你是怎么解决的? @SimranSingh 我用 jupyter notebook 做了绘图部分

以上是关于pyspark matplotlib 与 Zeppelin 的集成的主要内容,如果未能解决你的问题,请参考以下文章

安装matplotlib

如何在 pyspark 中获取 Python 库?

解决方案pyspark 绘图报错:_tkinter.TclError: no display name and no $DISPLAY environment variable

解决方案pyspark 绘图报错:_tkinter.TclError: no display name and no $DISPLAY environment variable

Pyspark:与使用 pandas 创建数据帧相比,为啥使用 pyspark 创建数据帧需要更多时间 [重复]

Pyspark-SQL 与 Pyspark 使用 Delta 格式的查询表有啥区别?