Добавление библиотек в ядро ​​PySpark на Jupyter / JupiterHub на EMR - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь использовать Matplotlib с PySpark3 с JupyterHub (0.9.4), работающим в докере на AWS EMR (5.20). На этом JupyterHub предустановлено 4 ядра: Python, PySpark, PySpark3 и Spark. Не было проблем с импортом Matplotlib с ядром Python. Однако когда я попытался «импортировать matplotlib as plt» с ядром PySpark или PySpark3, я получил сообщение «matplotlib not found». Пытался найти парня на этом, но не повезло.

Не могли бы вы помочь?

Спасибо и всего наилучшего, Averell

1 Ответ

0 голосов
/ 14 января 2019

Дальнейшее чтение показало, что я был неправ: при использовании ядер PySpark код будет запускаться на кластере Spark (самой EMR), а при использовании ядра Python код будет выполняться на сервере JupyterHub (образ докера) .

Matplotlib был предустановлен на образе докера, а не на EMR. Установка matplotlib на главном узле EMR решит эту проблему импорта в ядрах PySpark. Тем не менее, это не помогает в дальнейшем (по крайней мере для меня сейчас) при построении графиков с использованием фреймов данных из Spark.

Наконец-то я мог получить то, что хотел, следуя этому руководству - перенеся результат в "local" (здесь "local" означает сервер JupyterHub - образ докера) и локально используя matplotlib, используя %% local магия: https://github.com/jupyter-incubator/sparkmagic/blob/master/examples/Pyspark%20Kernel.ipynb

...