无法使用apache spark将数据加载到mongodb

r3i60tvu  于 2021-05-18  发布在  Spark
关注(0)|答案(0)|浏览(451)

我正在尝试使用spark将数据从hdfs(hdp沙盒内)加载到mongodb。但出现以下错误:

py4j.protocol.Py4JJavaError: An error occurred while calling o51.save.                                                                                                   
: java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;                                                         
        at com.mongodb.spark.config.MongoCompanionConfig$class.getOptionsFromConf(MongoCompanionConfig.scala:233)                                                        
        at com.mongodb.spark.config.WriteConfig$.getOptionsFromConf(WriteConfig.scala:37)

下面是我的python代码:

from pyspark.sql import SparkSession

my_spark = SparkSession \
         .builder \
         .appName("MongoDBIntegration") \
         .config("spark.mongodb.input.uri", "mongodb://127.0.0.1/bigdatadb.test") \
         .config("spark.mongodb.output.uri", "mongodb://127.0.0.1/bigdatadb.test") \
         .getOrCreate()

df = my_spark.read.option("multiline", "true").json("hdfs://sandbox-hdp.hortonworks.com:8020/user/root/Output.json")

df.count()

df.printSchema()

df.write.format("com.mongodb.spark.sql.DefaultSource").mode("append").option("database","bigdatadb").option("collection", "test").save()

有人能帮我解决这个问题吗?我试过检查其他可能的解决方案,但都没用。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题