pyspark graphdataframes踩坑记


pyspark 没有集成graphX包,只能使用第三方的graph打他frames,虽然完全具备graphx的功能,但是第一次进行安装,很容易踩坑。笔者踩坑1-2天,终于爬了起来!

报错ModuleNotFoundError: No module named ‘graphframes’


ModuleNotFoundError Traceback (most recent call last)
in
1 from pyspark.sql import SparkSession
2 from pyspark.sql import SQLContext
----> 3 from graphframes import *
4 from pyspark.sql.types import *
5

ModuleNotFoundError: No module named ‘graphframes’

解决办法:下载与spark版本一致的graphdataframes源码包
放到python所在的site-packages目录下
下载网址:
https://spark-packages.org/package/graphframes/graphframes

在这里插入图片描述
选择zip下载,注意必须要跟spark的版本号一致。下载后解压,把pyhon目录下的整个包拷贝到python解释器下的lib->site-packages(替换成你本机的python所在路径)
在这里插入图片描述
在这里插入图片描述

接着报错java.lang.ClassNotFoundException: org.graphframes.GraphFramePythonAPI

因为缺少graphframes-xxx.jar包,下载jar包

官方网链接无法下载graphframes-xxx.jar包

无论使用mvn下载,还是使用repo搜索都无法下载所需要的jar包。踩坑了很久,最后竟然是下载jar包的网站http://dl.bintray.com/关闭,而官方的网站jar包下载链接没有更新。所以从这个https://repos.spark-packages.org/网址下载成功。参照如下的格式修改所需要下载的版本号即可。
http://dl.bintray.com/spark-packages/maven/graphframes/graphframes/0.7.0-spark2.4-s_2.11/graphframes-0.7.0-spark2.4-s_2.11.jar
由于http://dl.bintray.com/网站已经关闭,但是官网的jar下载链接还没有更新。需要修改下载路径为:
https://repos.spark-packages.org/graphframes/graphframes/0.7.0-spark2.4-s_2.11/graphframes-0.7.0-spark2.4-s_2.11.jar

jar包加载的方法:
可以通过pyspark --jars 方式加载,也可以拷贝到pyspark目录下,重启pyspark。
笔者采用第二种方法
D:\spark-2.4.7-bin-hadoop2.7\jars
注意替换D:\spark-2.4.7-bin-hadoop2.7为你本机的spark路径。

如果运行时报错java.lang.ClassNotFoundException: com.typesafe.scalalogging.slf4j.LazyLogging

需要下载scala-logging_xxx.jar

如果运行时再报错java.lang.ClassNotFoundException: com.typesafe.scalalogging

需要下载scala-logging-slf4j_xxx.jar

注意下载的小版本号要一致,否则会有问题。

在这里插入图片描述
笔者把spark2.4版本配套的包上传,可以进行下载。https://download.csdn.net/download/sunseaxhj/18770012

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值