首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未能找到数据源: com.mongodb.spark.sql.DefaultSource

未能找到数据源: com.mongodb.spark.sql.DefaultSource
EN

Stack Overflow用户
提问于 2018-06-21 08:06:33
回答 6查看 13.4K关注 0票数 11

我正试图按如下方式将spark (pyspark)连接到mongodb:

代码语言:javascript
运行
复制
conf = SparkConf()
conf.set('spark.mongodb.input.uri', default_mongo_uri)
conf.set('spark.mongodb.output.uri', default_mongo_uri)
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
spark = SparkSession \
    .builder \
    .appName("my-app") \
    .config("spark.mongodb.input.uri", default_mongo_uri) \
    .config("spark.mongodb.output.uri", default_mongo_uri) \
    .getOrCreate()

但当我做以下事情时:

代码语言:javascript
运行
复制
users = spark.read.format("com.mongodb.spark.sql.DefaultSource") \
        .option("uri", '{uri}.{col}'.format(uri=mongo_uri, col='users')).load()

我知道这个错误:

java.lang.ClassNotFoundException:未能找到数据源: com.mongodb.spark.sql.DefaultSource

我也做了同样的事情,我从火花公子壳,我能够检索数据。这是我运行的命令:

代码语言:javascript
运行
复制
pyspark --conf "spark.mongodb.input.uri=mongodb_uri" --conf "spark.mongodb.output.uri=mongodburi" --packages org.mongodb.spark:mongo-spark-connector_2.11:2.2.2

但是在这里我们可以选择指定我们需要使用的包。但是独立的应用程序和脚本呢?我如何配置芒果火花连接器那里。

有什么想法吗?

EN

Stack Overflow用户

发布于 2022-02-09 18:56:57

下面是通过下载下面的jar文件来解决这个错误的方法。(使用了这个问题的解决方案)

1.下载了以下jar文件。

来自这里的蒙戈火花连接器_2.11-2.4.1

mongo驱动程序-3.9.0来自这里

  1. 复制并粘贴这两个jar文件到星火目录中的“jar”位置。
  2. 木星笔记本中的电火花代码:
代码语言:javascript
运行
复制
import pyspark
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("mongo").\
config("spark.mongodb.input.uri","mongodb://127.0.0.1:27017/$database.$table_name").\
config("spark.mongodb.output.uri","mongodb://127.0.0.1:27017/$database.$table_name").\
getOrCreate()

df=spark.read.format('com.mongodb.spark.sql.DefaultSource')\
    .option( "uri", "mongodb://127.0.0.1:27017/$database.$table_name") \
    .load()

df.printSchema()

#create Temp view of df to view the data 
table = df.createOrReplaceTempView("df")

#to read table present in mongodb
query1 = spark.sql("SELECT * FROM df ")
query1.show(10)
票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50963444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档