pyspark运行GraphFrames报错:java.lang.ClassNotFoundException: org.graphframes.GraphFramePythonAPI
原因
缺少相关依赖jar包
解决办法
1.下载相关jar包
2.配置环境
具体步骤
- 下载依赖jar包 :进入下载网站https://spark-packages.org/,选择Graph,然后选择graphframes,下载对应spark版本的依赖jar包;
- 将jar包添加到本地spark的jar包依赖文件夹 :本人使用的是pip安装的pyspark,所以jar包路径是/usr/lib/python2.7/site-packages/pyspark/jars,但是看网上有的人是直接在/usr/local/spark/jar,所以大家自己看自己的路径在哪。确定好路径,就是将下载的jar包移动到改路径下;
- 配置环境变量 :本人使用的是集成开发环境pycharm,所以可以直接在ide上配置环境变量,具体步骤如下:
点击下拉,选择Edit configruation
编辑Environment variables
添加环境变量 - 具体配置:Name:PYSPARK_SUBMIT_ARGS
Value:–packages graphframes:graphframes:你的graphframes版本号(即你下的jar包的版本号)-spark:你的spark版本号-s_你的scala版本号。具体spark版本号和scala版本号,大家不确定的话,可以终端运行spark-shell查看。 - .如果不是集成开发环境的话,可以直接在程序里设置:os.environ[“PYSPARK_SUBMIT_ARGS”] = (
“–packages graphframes:graphframes:0.2.0-spark2.0-s_2.11 pyspark-shell”
)