没有名为graphframes Jupyter Notebook的模块

时间:2018-05-11 06:19:16

标签: python apache-spark graphframes

我关注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的模块

我不确定是否可以通过以下方式安装包装。 但我很感激你的建议和帮助。

3 个答案:

答案 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 graphframeshttps://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运行代码,则可以使用相同的启动命令