使用AWS-EMR jupyter笔记本进行Matplotlib绘图

4

我正在尝试在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()什么都不做。

2个回答

2

编辑:

查看Parag Chaudhari的回答以在spark模式下绘制。


测试版本:emr-5.21.0

在EMR笔记本中的spark魔术内核中没有%matplotlib魔术。键入%%help以查看所有支持的魔法命令。

pyspark内核通过Livy向远程EMR集群发送REST请求。因此,在spark集群上进行绘图工作并没有太多意义。使用pyspark内核以分布式方式进行数据处理,然后在%%local模式下执行绘图工作。

尝试以%%local开始单元格,然后运行您的代码。

%%local 
%matplotlib inline
<some code to plot charts>

2

从EMR 5.26开始,您可以:

  1. 在笔记本内部向EMR集群安装其他Python库(例如Pandas、matplotlib、scipy等)。无需使用引导操作或自定义AMI。您可以在EMR笔记本的Pyspark版本中使用新添加的“list_packages”、“install_pypi_package”和“uninstall_package”API。更多信息请参见此处。您还可以参考博客。

  2. 在EMR集群本身上呈现和绘制图表。您可以使用“%matplot”魔术功能来实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接