如何将图框添加到 Apache Zeppelin
How to add graphframes to Apache Zeppelin
我正在尝试将 Apache Zeppelin 上的 graphframes 库与 Spark (pyspark) 解释器一起使用,但是,我不断收到错误消息:
ModuleNotFoundError: No module named 'graphframes'
每当我尝试使用 from graphframes import *
.
导入 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')
函数,我尝试在解释器设置中添加图形框架作为依赖项,但是,none 这些尝试都奏效了。
我还尝试将 spark 存储库添加到 Zeppelin,然后将 graphframes 的 Maven 坐标添加到依赖项部分下的 zeppelin 上的解释器。但是,这也没有用。
我在托管在 EMR 集群上的 zeppelin 0.8.1 上使用带有 scala 2.11 的 spark 版本 2.4。
我可以使用 pyspark 和上面提到的 --packages 指令从终端使用 graphframes,所以这似乎是一个与 zeppelin 相关的问题。
我不知道我还能做什么。关于如何让 graphframes 在 zeppelin 上工作有什么想法吗?
我认为问题出在 Zeppelin 中的 PYTHONPATH。您可以通过以下方式查看 PYTHONPATH:
import sys
print(sys.path)
它适用于 pyspark 控制台,因为该包将安装在已经是 PYTHONPATH 一部分的位置。您可以通过以下方式进行检查:
import graphframes
print(graphframes.__file__)
所以你所要做的就是将包添加到你的 PYTHONPATH 中。将以下行添加到
/etc/spark/conf/spark-defaults.conf
(其他方法,如 --packages 参数 SPARK_SUBMIT_OPTIONS 也应该有效):
spark.jars.packages graphframes:graphframes:0.7.0-spark2.4-s_2.11
之后,您应该将以下行添加到 /etc/spark/conf/spark-env.sh
以扩展您的 PYTHONPATH(检查包位置):
export PYTHONPATH=$PYTHONPATH:/var/lib/zeppelin/.ivy2/jars/graphframes_graphframes-0.7.0-spark2.4-s_2.11.jar
重新启动 zeppelin 中的 spark 解释器以确保应用所有更改。
我正在尝试将 Apache Zeppelin 上的 graphframes 库与 Spark (pyspark) 解释器一起使用,但是,我不断收到错误消息:
ModuleNotFoundError: No module named 'graphframes'
每当我尝试使用 from graphframes import *
.
我尝试在 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')
函数,我尝试在解释器设置中添加图形框架作为依赖项,但是,none 这些尝试都奏效了。
我还尝试将 spark 存储库添加到 Zeppelin,然后将 graphframes 的 Maven 坐标添加到依赖项部分下的 zeppelin 上的解释器。但是,这也没有用。
我在托管在 EMR 集群上的 zeppelin 0.8.1 上使用带有 scala 2.11 的 spark 版本 2.4。
我可以使用 pyspark 和上面提到的 --packages 指令从终端使用 graphframes,所以这似乎是一个与 zeppelin 相关的问题。
我不知道我还能做什么。关于如何让 graphframes 在 zeppelin 上工作有什么想法吗?
我认为问题出在 Zeppelin 中的 PYTHONPATH。您可以通过以下方式查看 PYTHONPATH:
import sys
print(sys.path)
它适用于 pyspark 控制台,因为该包将安装在已经是 PYTHONPATH 一部分的位置。您可以通过以下方式进行检查:
import graphframes
print(graphframes.__file__)
所以你所要做的就是将包添加到你的 PYTHONPATH 中。将以下行添加到
/etc/spark/conf/spark-defaults.conf
(其他方法,如 --packages 参数 SPARK_SUBMIT_OPTIONS 也应该有效):
spark.jars.packages graphframes:graphframes:0.7.0-spark2.4-s_2.11
之后,您应该将以下行添加到 /etc/spark/conf/spark-env.sh
以扩展您的 PYTHONPATH(检查包位置):
export PYTHONPATH=$PYTHONPATH:/var/lib/zeppelin/.ivy2/jars/graphframes_graphframes-0.7.0-spark2.4-s_2.11.jar
重新启动 zeppelin 中的 spark 解释器以确保应用所有更改。