pyspark (windows环境)连接mongo数据库时的报错汇总

本地跑pyspark,连接mongo数据库,提示如下报错:

1.

Caused by: java.lang.ClassNotFoundException: com.mongodb.spark.sql.DefaultSource.DefaultSource

解决办法:

找到SPARK_HOME的jars目录,是否有mongo-spark-connector_XXXXXX.jar。若没有,到官网 https://spark-packages.org/package/mongodb/mongo-spark 下载指定jar包(要仔细核对jar包支持的spark及scala版本),放到该目录下即可。

 

2.

java.lang.NoClassDefFoundError: org/bson/conversions/Bson

https://jar-download.com/?search_box=bson 下载最新版本的bson.jar,放到该目录(SPARK_HOME的jars目录)下即可。

 

到如下网站,下载 https://jar-download.com/artifacts/org.mongodb  和Mongo有关的driver包,放到该目录(SPARK_HOME的jars目录)下即可。

 

3.

在pyspark编程时,提示如下报错

spark-2.4.0-bin-hadoop2.7\python\lib\pyspark.zip\pyspark\worker.py", line 25, in <module>
ModuleNotFoundError: No module named 'resource'

解决办法是:回退Spark版本,使用spark2.3及以下版本。这个报错,可能是新版本有若干问题所致,暂时没有解决办法。【(2019年1月4日17点34分) 当然这个并不是绝对的,可能后续版本就没有这个报错】

 

4.

若连接带有认证的mongo数据库,提示com.mongodb.MongoCommandException: Command failed with error 13 (Unauthorized): 'there are no users authenticated' 

那么需要在uri中指定user及password,如下事例所示

uri=mongodb://user:password@mongodb-server:27017/database.collection

详情请参考这个帖子https://github.com/mongodb/mongo-hadoop/wiki/Usage-with-Authentication

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值