我关注this安装指南,但在使用graphframes
from pyspark import SparkContext
sc =SparkContext()
!pyspark --packages graphframes:graphframes:0.5.0-spark2.1-s_2.11
from graphframes import *
----------------------------------------------- ---------------------------- ImportError Traceback(最近一次调用 最后)in() ----> 1来自graphframes import *
ImportError:没有名为graphframes的模块
我不确定是否可以通过以下方式安装包装。 但我很感激你的建议和帮助。
答案 0 :(得分:5)
好问题!
打开您的bashrc文件,然后输入export SPARK_OPTS="--packages graphframes:graphframes:0.5.0-spark2.1-s_2.11"
。保存bashrc文件后,请将其关闭并输入source .bashrc
。
最后,打开笔记本并输入:
from pyspark import SparkContext
sc = SparkContext()
sc.addPyFile('/home/username/spark-2.3.0-bin-hadoop2.7/jars/graphframes-0.5.0-spark2.1-s_2.11.jar')
之后,您可以运行它。
答案 1 :(得分:0)
我在docker中使用jupyter笔记本,试图使graphframes工作。首先,我使用了https://stackoverflow.com/a/35762809/2202107中的方法,我有:
import findspark
findspark.init()
import pyspark
import os
SUBMIT_ARGS = "--packages graphframes:graphframes:0.7.0-spark2.4-s_2.11 pyspark-shell"
os.environ["PYSPARK_SUBMIT_ARGS"] = SUBMIT_ARGS
conf = pyspark.SparkConf()
sc = pyspark.SparkContext(conf=conf)
print(sc._conf.getAll())
然后通过关注此问题,我们终于可以import graphframes
:https://github.com/graphframes/graphframes/issues/172
import sys
pyfiles = str(sc.getConf().get(u'spark.submit.pyFiles')).split(',')
sys.path.extend(pyfiles)
from graphframes import *
答案 2 :(得分:0)
最简单的方法是使用pyspark启动jupyter,graphframes是从pyspark启动jupyter。
只需打开终端并设置两个环境变量,然后使用graphframes软件包开始pyspark
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
运行代码,则可以使用相同的启动命令