我正在使用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
我自己解决了这个问题...我分享了这个解决方案(我使用的是Scala的spark语言):
centenarians
.write
.format("com.mongodb.spark.sql.DefaultSource")
.option("collection", "hundredClub")
.mode("append")
.save()
我是mongo-spark-connector_2.11。如果您有数据集或数据框形式的火花数据,则可以使用不同的保存方法保存它:
例如,(Java代码)
MongoSpark.write(yourDataSet).mode("append").option("replaceDocument","false").save();
它会在现有文档中追加新数据,并与mongo集合上的_id匹配。