Matplotlib 使用 AWS-EMR jupyter notebook 绘图
Posted
技术标签:
【中文标题】Matplotlib 使用 AWS-EMR jupyter notebook 绘图【英文标题】:Matplotlib Plotting using AWS-EMR jupyter notebook 【发布时间】:2019-03-31 20:00:19 【问题描述】:我正在尝试在 AWS-EMR 实例上的 jupyter 笔记本中使用 Matplotlib 绘制数据。 Matplotlib 必须在实例启动时通过引导操作安装,我已经成功完成了。我也以这种方式成功安装了 Pandas(并将其用于我笔记本中的各种事情)。典型的%matplotlib inline
不起作用。 (事实上,AWS-EMR 笔记本上似乎没有任何魔法命令。我怀疑 AWS 已经禁用了这些,或者它与笔记本的“无服务器”有关。)
我试过了:
安装 matplotlib==2.0.2 并使用魔术命令%matplotlib inline
(如上所述,魔术命令似乎根本不起作用)
安装 matplotlib==1.5,安装 ipympl,并使用 import ipympl
。在尝试.show()
绘图时,我没有收到使用此方法的错误,但也没有显示绘图。单元格在笔记本中运行,没有出现任何绘图。据我所知,.show()
什么都不做。
【问题讨论】:
【参考方案1】:编辑:
检查 Parag Chaudhari 的关于在火花模式下绘图的答案。
在发布标签上测试:emr-5.21.0
EMR 笔记本的 spark 魔术内核中没有 %matplotlib
魔术。输入 %%help
以查看所有支持的魔法。
pyspark
内核通过 Livy 向远程 EMR 集群发送 REST 请求。所以在火花簇上绘制工作没有多大意义。以分布式方式使用pyspark
内核进行数据处理,然后以%%local
模式进行绘图工作。
尝试使用%%local
启动单元格,然后运行您的代码
%%local
%matplotlib inline
<some code to plot charts>
【讨论】:
【参考方案2】:您可以启动 EMR 5.26,
从 notebook 中的 EMR 集群上安装其他 Python 库(例如 Pandas、matplotlib、scipy 等)。无需使用引导操作或自定义 AMI。您可以在 EMR 笔记本的 Pyspark 版本中使用新添加的“list_packages”、“install_pypi_package”和“uninstall_package”API。更多信息here。也可以参考this博客。
在 EMR 集群本身上渲染和绘制图表。你可以使用“%matplot”魔法来实现它。
【讨论】:
以上是关于Matplotlib 使用 AWS-EMR jupyter notebook 绘图的主要内容,如果未能解决你的问题,请参考以下文章