Обновите отдельный документ в mongodb, используя spark с java - PullRequest
0 голосов
/ 28 мая 2019

Я только начал apache-spark с Java. В коллекции сохранено много документов. Я хочу найти документ на основе некоторого ключа и обновить его. Просто хочу сделать поиск и обновление в apache-spark с java

Это код для чтения формы документа Монго

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.
        }));

но не может обновить этот документ

1 Ответ

0 голосов
/ 28 мая 2019

Spark выполняет ленивую оценку ваших преобразований, поэтому, если вы не вызовете действие над rdd, оно не выполнит никаких преобразований, которые вы кодируете. Смотрите общие действия здесь .

Кроме того, это не похоже на случай использования, в котором вы хотели бы использовать искру. Если ваше фактическое требование состоит в том, чтобы просто обновить документ в соответствии со значением, вам следует изучить индексирование в mongo и просто обновить документ через драйвер mongo в java напрямую.

...