Apache spark 如何向ApacheZeppelin添加Graphframe

Apache spark 如何向ApacheZeppelin添加Graphframe,apache-spark,pyspark,apache-zeppelin,graphframes,Apache Spark,Pyspark,Apache Zeppelin,Graphframes,我正在尝试使用ApacheZeppelin上的graphframes库和Spark(pyspark)解释器,但是,我不断得到错误: ModuleNotFoundError:每当我尝试使用从graphframes import*导入graphframes模块时,没有名为“graphframes”的模块 我尝试在zeppelin-env.sh文件中添加--packages'graphframes:graphframes:0.7.0-spark2.4-s_2.11'指令,尝试使用z.load('gra

我正在尝试使用ApacheZeppelin上的graphframes库和Spark(pyspark)解释器,但是,我不断得到错误:
ModuleNotFoundError:每当我尝试使用
从graphframes import*
导入graphframes模块时,没有名为“graphframes”的模块

我尝试在zeppelin-env.sh文件中添加
--packages'graphframes:graphframes:0.7.0-spark2.4-s_2.11'
指令,尝试使用
z.load('graphframes:graphframes:0.7.0-spark2.4-s_2.11')
函数,但我尝试在解释器设置中添加graphframes作为依赖项,这些尝试都没有奏效

我还尝试将spark存储库添加到齐柏林飞艇上,然后将图形框架的maven坐标添加到齐柏林飞艇上依赖项部分下的解释器中。然而,这也不起作用

我在zeppelin 0.8.1上使用spark版本2.4和scala 2.11,该版本托管在EMR集群上

我能够使用上面提到的pyspark和--packages指令从终端使用图形帧,所以这似乎是一个与齐柏林飞艇相关的问题


我被难住了,不知道我还能做些什么。有没有关于如何让图形框架在齐柏林飞艇上工作的想法?

我想问题在于你在齐柏林飞艇上的蟒蛇。您可以通过以下方式看到蟒蛇:

导入系统 打印(系统路径)
它与pyspark控制台配合使用,因为该包将安装在PYTHONPATH的一部分位置。您可以通过以下方式确认:

导入图形框架
打印(图形框架、文件)
所以你所要做的就是把这个包广告到你的PYTHONPATH上。将以下行添加到
/etc/spark/conf/spark defaults.conf
(其他方式,如--packages参数作为spark\u SUBMIT\u选项也应起作用):

spark.jars.packages图形框架:图形框架:0.7.0-spark2.4-s_2.11

之后,您应该在
/etc/spark/conf/spark env.sh
中添加以下行以扩展PYTHONPATH(检查包位置):
export PYTHONPATH=$PYTHONPATH:/var/lib/zeppelin/.ivy2/jars/graphframes\u graphframes-0.7.0-spark2.4-s\u 2.11.jar


重新启动齐柏林飞艇中的spark解释器,以确保应用了所有更改。

这解决了问题。标记为答案。非常感谢你。我自己永远无法得出这个解决方案。@user10958683这个问题背后的问题与链接中指出的问题不同。试图回答这个问题,但没有成功。这个问题的答案可以帮助其他面临类似问题的人。