【问题标题】:how to insert data to existing collection in mongodb with mongodb-spark connector如何使用 mongodb-spark 连接器将数据插入到 mongodb 中的现有集合中
【发布时间】:2018-02-03 05:05:39
【问题描述】:

我正在使用 mongo-spark 连接器连接 spark 和 MongoDB。 如果“表”(集合)存在,我无法将数据插入 MongoDB,因为 spark 默认保存模式是错误的 我试试这个。

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      例如,(Java 代码)

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

      它将在您现有的文档中追加新数据,将其与 _id 匹配到 mongo 集合中。

      【讨论】:

        猜你喜欢
        • 2020-08-24
        • 2022-01-04
        • 2022-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多