代码之家  ›  专栏  ›  技术社区  ›  Averell

在emr上的jupyter/jupiterhub上向pyspark内核添加库

  •  0
  • Averell  · 技术社区  · 6 年前

    我试图将matplotlib与pyspark3一起使用,其中jupyterhub(0.9.4)运行在aws emr(5.20)上的docker上。jupyterhub上预装了4个内核:python、pyspark、pyspark3和spark。 用Python内核导入Matplotlib是没有问题的。然而,当我尝试用pyspark或pyspark3内核“importmatplotlibasplt”时,得到的消息是“matplotlib not found”。一直在找一个男人,但是没有运气。

    你能帮忙吗?

    谢谢和问候, 阿维尔

    1 回复  |  直到 6 年前
        1
  •  1
  •   Averell    6 年前

    进一步的阅读表明我错了:使用pyScar内核实际上会有星星之火(EMR本身)上运行的代码,而使用Python内核将在JuyTyHub服务器(DOCKER映像)上运行代码。

    matplotlib是预先安装在docker映像上的,而不是emr。 在emr主节点上安装matplotlib可以解决pyspark内核中的导入问题。然而,这对使用spark中的数据帧绘制图形没有进一步的帮助(至少对我现在是这样)。

    我最终可以按照这个指南得到我想要的结果-将结果传输到“local”(这里“local”是指jupyterhub服务器-docker映像)并使用matplotlib在本地使用 %%本地 魔术: https://github.com/jupyter-incubator/sparkmagic/blob/master/examples/Pyspark%20Kernel.ipynb