如何使用mongodb-spark连接器将数据插入mongodb中的现有集合

问题描述 投票:2回答:2

我正在使用mongo-spark连接器连接spark和MongoDB。并且我无法向MongoDB插入数据,因为如果“table”(集合)存在并且我尝试这个,则火花默认保存模式会出错。

MongoSpark.write(centenarians).option("collection", "hundredClub")*.option("mode","append")*.save();

但这不是影响。我怎么能解决这个问题请帮我谢谢!

这是错误消息:

Exception in thread "main" java.lang.UnsupportedOperationException: MongoCollection already exists
mongodb apache-spark collections connector
2个回答
2
投票

我自己解决了这个问题...我分享了这个解决方案(我使用的是Scala的spark语言):

centenarians
  .write
  .format("com.mongodb.spark.sql.DefaultSource")
  .option("collection", "hundredClub")
  .mode("append")
  .save()

1
投票

我是mongo-spark-connector_2.11。如果您有数据集或数据框形式的火花数据,则可以使用不同的保存方法保存它:

例如,(Java代码)

MongoSpark.write(yourDataSet).mode("append").option("replaceDocument","false").save();

它会在现有文档中追加新数据,并与mongo集合上的_id匹配。

© www.soinside.com 2019 - 2024. All rights reserved.