【问题标题】:Update a single document in mongodb using spark with java使用带有 java 的 spark 更新 mongodb 中的单个文档
【发布时间】:2019-10-13 20:07:05
【问题描述】:

我刚刚用 java 启动了 apache-spark。集合中保存了许多文档我想根据某个键找到一个文档并更新它。 只是我想用 java 在 apache-spark 中查找和更新

这是读取文件表单 mongo 的代码

Map<String, String> readOverrides = new HashMap<String, String>();
readOverrides.put("collection", "bb_playing22");
ReadConfig readConfig = ReadConfig.create(createJavaSparkContext()).withOptions(readOverrides);
JavaMongoRDD<Document> customRdd = MongoSpark.load(createJavaSparkContext(), readConfig);
        JavaRDD<Document> rdd = customRdd.filter(((t1) -> {
            return t1.getLong("playing22_id") == 3; //To change body of generated lambdas, choose Tools | Templates.
        }));

但无法更新此文档

【问题讨论】:

    标签: java mongodb apache-spark bigdata


    【解决方案1】:

    Spark 会对您的转换进行惰性评估,因此除非您通过 rdd 调用操作,否则它不会执行您编写的任何转换。 查看常用操作here

    此外,这似乎不是您想使用 spark 的用例。 如果您的实际需求只是根据值更新文档,那么您应该查看 mongo 中的索引,并直接通过 java 中的 mongo 驱动程序更新文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多