我正在尝试使用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()
有人能帮我解决这个问题吗?我试过检查其他可能的解决方案,但都没用。
暂无答案!
目前还没有任何答案,快来回答吧!