Я использую pyspark и graphframes от jupyter. Я могу успешно импортировать pyspark и graphframes, но когда я пытаюсь:
from graphframes.lib import Pregel
Я получаю следующую ошибку:
ImportError: cannot import name 'Pregel' from 'graphframes.lib'
В этом посте я смог заставить работать графические фреймы, но без graphframes.lib:
https://github.com/graphframes/graphframes/issues/104
wget https://github.com/graphframes/graphframes/archive/release-0.2.0.zip
unzip release-0.2.0.zip
cd graphframes-release-0.2.0
build/sbt assembly
cd ..
# Copy necessary files to root level so we can start pyspark.
cp graphframes-release-0.2.0/target/scala-2.11/graphframes-release-0-2-0-assembly-0.2.0-spark2.0.jar .
cp -r graphframes-release-0.2.0/python/graphframes .
# Set environment to use Jupyter
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS=notebook
# Launch the jupyter server.
pyspark --jars graphframes-release-0-2-0-assembly-0.2.0-spark2.0.jar
Я попытался повторить приведенные выше команды без строк окружения, так как pyspark отлично работает для меня в jupyter, используя другую версию и смог получить graphframes.lib, но не Pregel:
wget https://github.com/graphframes/graphframes/archive/release-0.6.0.zip
unzip release-0.6.0.zip
cd graphframes-release-0.6.0
build/sbt assembly
cd ..
# Copy necessary files to root level so we can start pyspark.
cp graphframes-release-0.6.0/target/scala-2.11/graphframes-assembly-0.6.0-spark2.3.jar .
cp -r graphframes-release-0.6.0/python/graphframes .
# Set environment to use Jupyter
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS=notebook
# Launch the jupyter server.
pyspark --jars graphframes-assembly-0.6.0-spark2.3.jar
Теперь я вижу каталог graphrames.lib, но все, что там есть, это aggregate_messages.py.
Наконец, я попробовал следующее, но получил ошибку 404:
wget https://github.com/graphframes/graphframes/archive/release-0.7.0.zip
Я ожидал, что, поскольку я смог импортировать графические кадры, я смогу импортировать Pregel из graphframes.lib. Казалось бы, в моей версии 0.6.0 сейчас есть graphrames.lib, но нет Pregel, и что еще нет выпуска 0.7.0 для графических фреймов.