не могу найти модуль 'graphframes' Jupyter

Я пытаюсь установить пакет graphframes, следуя некоторым инструкциям, которые я уже прочитал.

Моя первая попытка состояла в том, чтобы сделать это в командной строке:

 pyspark--packages graphframes:graphframes:0.5.0-spark2.1-s_2.11

Это работает отлично, и загрузка была успешно выполнена на машине.

Однако, когда я пытаюсь импортировать пакет в свой блокнот Jupyter, отображается ошибка:

can't find module 'graphframes'

Моя первая попытка — скопировать папку пакета /graphframes в /site-packages, но я не могу сделать это с помощью простой команды cp.

Я новичок в использовании искры, и я уверен, что мне не хватает некоторых частей конфигурации...

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


person Also    schedule 08.05.2018    source источник
comment
Возможный дубликат Нет модуля с именем graphframes Jupyter Notebook   -  person Sida Zhou    schedule 02.03.2019


Ответы (2)


Это то, что сработало для меня.

Извлеките содержимое файла graphframes-xxx-xxx-xxx.jar. Вы должны получить что-то вроде

graphframes
 | -- examples
       |-- ...
 | -- __init__.py
 | -- ...

Заархивируйте всю папку (не только содержимое) и назовите ее как хотите. Мы просто назовем его graphframes.zip.

Затем запустите оболочку pyspark с помощью

pyspark --py-files graphframes.zip \
    --packages graphframes:graphframes:0.5.0-spark2.1-s_2.11

Вам может понадобиться сделать

sc.addPyFile('graphframes.zip')

до

import graphframes
person absolutelydevastated    schedule 11.05.2018

Самый простой способ — запустить jupyter с помощью pyspark, а graphframes — запустить jupyter из pyspark.

Просто откройте терминал, установите две переменные среды и запустите pyspark с пакетом graphframes.

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS=notebook
pyspark --packages graphframes:graphframes:0.6.0-spark2.3-s_2.11

Преимущество этого также в том, что если вы позже захотите запустить свой код через spark-submit, вы можете использовать ту же команду запуска

person Alex Ortner    schedule 04.09.2019