Apache Spark:无法在 Jupyter Notebook 上使用 Matplotlib

Posted

技术标签:

【中文标题】Apache Spark:无法在 Jupyter Notebook 上使用 Matplotlib【英文标题】:Apache Spark: Can't use Matplotlib on Jupyter Notebook 【发布时间】:2018-05-21 02:09:42 【问题描述】:

我想做一件简单的事。

在我的 spark 集群上,我将 Spark 数据帧转换为 pandas 数据帧以进行绘图。

+--------------------+-----+
|              window|count|
+--------------------+-----+
|[2018-04-10 15:00...|  770|
|[2018-04-10 00:42...|  100|
|[2018-04-10 04:14...|   54|
|[2018-04-06 15:54...|   36|
|[2018-04-10 04:46...|  304|
|[2018-04-10 20:36...|  347|
|[2018-04-10 03:26...|   41|
|[2018-04-10 21:10...|   85|
|[2018-04-10 11:44...|  426|
|[2018-04-10 12:32...|  754|
|[2018-04-10 00:28...|   61|
|[2018-04-10 05:36...|  478|
|[2018-04-06 07:04...|   18|
|[2018-04-10 22:14...|  195|
|[2018-04-10 23:40...|  175|
|[2018-04-10 00:20...|  229|
|[2018-04-10 03:10...|  209|
|[2018-04-10 01:28...|   67|
|[2018-04-09 18:52...|    9|
|[2018-04-10 19:06...| 3548|
+--------------------+-----+
only showing top 20 rows

但现在我尝试绘制它,

from IPython.display import display
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
​
pdf.plot()  # pdf is the pandas datframe

我得到错误:

unknown magic command 'matplotlib'
UnknownMagic: unknown magic command 'matplotlib'

我不明白为什么会出现错误。我已经创建了数据框,我只是展示了它,它显示得很好。现在,我只是想绘制它,安装了 matplotlib。

如何在集群上的 PySpark 内核上运行的 Jupyter notebook 上绘图?

【问题讨论】:

问题不在于导入,尝试删除%matplotlib inline并运行代码 @Kalyan 是对的,尝试显示包含引发问题的行的完整错误消息。它有助于调试:) 您是否使用 Sparkmagic 和 Livy 连接到您的集群? 【参考方案1】:

而不是写

%matplotlib inline

添加以下代码

from IPython import get_ipython
get_ipython().run_line_magic('matplotlib', 'inline')

【讨论】:

试过它给了我错误'NoneType' object has no attribute 'run_line_magic' Traceback(最近一次调用最后):AttributeError:'NoneType' object has no attribute 'run_line_magic' 你在用 IBM 的 jupyter notebook 吗? 是的,我尝试使用它运行..我得到了错误..没有它..仍然得到一个错误..另一个错误,RuntimeError: Invalid DISPLAY variable from IPython.display import display is也解决不了 貌似,你需要在azure notebook中安装ipython,所以,运行如下命令,$ pip install ipython 你能给我你在删除 %matplotlib inline 并运行代码时遇到的完整错误

以上是关于Apache Spark:无法在 Jupyter Notebook 上使用 Matplotlib的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Jupyter notebook-anaconda 中设置 spark home

无法在 jupyter notebook 中使用 pyspark 读取 MS SQL 表?

无法为 pyspark OSX 启动 Jupyter Notebook:IPYTHON 和 IPYTHON_OPTS 在 Spark 2.0+ 中被删除

如何在 Windows 的 ipython jupyter notebook 中添加 Spark-csv-master?

无法在 jupyter notebook 中导入 sparkdl

为 Jupyter 创建 pyspark 内核