在EMR的Jupyter / JupiterHub上将库添加到PySpark内核

时间:2019-01-13 06:22:05

标签: libraries amazon-emr jupyterhub

我正在尝试将Matplotlib与PySpark3配合使用,并在AWS EMR(5.20)的docker上运行JupyterHub(0.9.4)。该JupyterHub上预装了4个内核:Python,PySpark,PySpark3和Spark。 用Python内核导入Matplotlib没问题。但是,当我尝试使用PySpark或PySpark3内核“将matplotlib导入为plt”时,我得到了消息“未找到matplotlib”。一直在努力寻找一个人,但是没有运气。

能请你帮忙吗?

感谢和问候, 阿韦雷尔

1 个答案:

答案 0 :(得分:0)

进一步的阅读表明我错了:使用PySpark内核实际上将使代码运行在Spark集群(EMR本身)上,而使用Python内核将使代码运行在JupyterHub服务器上(docker映像)

Matplotlib预先安装在Docker映像上,而不是EMR上。 在EMR主节点上安装matplotlib将解决PySpark内核中的导入问题。但是,这对使用Spark中的数据框绘制图形没有帮助(至少现在对我而言)。

通过遵循本指南,我终于可以得到我想要的东西-将结果传输到“本地”(此处“本地”是指JupyterHub服务器-docker映像),并使用 %% local在本地使用matplotlib 魔术:https://github.com/jupyter-incubator/sparkmagic/blob/master/examples/Pyspark%20Kernel.ipynb