java连接mongodb_pyspark 连接MongoDB遇到的问题记录

之前一直是使用的python库pymongo来连接的MongoDB,最近想尝试下Spark,看看是否会加快处理速度,但是又不会JAVA,所以选择了pyspark

pyspark虽然是一个python库,但是需要你预先在电脑装Spark才行,安装的话可以去spark官网下载(Downloads | Apache Spark)

f0661af77ad9726ecbc62fdb62d76880.png

这里建议把对应的Hadoop也装上(

Index of /dist/hadoop/common/hadoop-2.7.6

  • 安装spark前需要安装jave和scala
  • Windows环境下需要修改环境变量JAVA_HOME和HADOOP_HOME为你安装jave和hadoop的目录
  • windows下需要安装 winnutils https://github.com/steveloughran/winutils/blob/master/hadoop-2.7.1/bin/winutils.exe
  • 需要把winnutils放到Hadoop的bin目录下,比如C:Hadoophadoop-2.7.6bin
  • 如何用winutils, 现在C盘创建tmphive的文件夹,然后打开cmd, cd到C:Hadoophadoop-2.7.6bin,输入winutils.exe chmod 777 tmphive, 这个是用来设置权限的,否则跑脚本的时候会提示权限不足
  1. ERROR Shell: Failed to locate the winutils binary in the hadoop binary path

这个是由于没有设置HADOOP_HOME的原因

bb73273edb9c5c5ff763887d47a615b4.png

2. java.lang.ClassNotFoundException: Failed to find data source: com.mongodb.spark.sql.DefaultSource.

这个需要指定spark.jars.packages,

如果是spark2.0 可以用org.mongodb.spark:mongo-spark-connector_2.11:2.3.2

如果是spark3.0 可以用org.mongodb.spark:mongo-spark-connector_2.12:3.0.0

from 

列一下我使用的版本

JAVA: 15.0.1

Scala:2.13.3

spark: 3.0.1

Hadoop:2.7.6

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值