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 绘图的主要内容,如果未能解决你的问题,请参考以下文章

AWS-EMR 错误退出代码 143

Intel AI Cloud 使用

在 emr 中使用 spark 从 S3 读取 avro 失败

决策树决策树调参

jupyter notebook安装纪要

Matplotlib快速入门