Как выполнить пакетный выбор и обновление документов из cocuhbase с использованием Java? - PullRequest
1 голос
/ 23 апреля 2019

Не могли бы вы сообщить мне, каков наилучший способ массового получения и переноса документов из cocuhbase с использованием Java? Могу ли я использовать N1QL? Пожалуйста, предложите?

1 Ответ

2 голосов
/ 23 апреля 2019

Вы можете использовать дозирование с RXJava

public List<JsonDocument> bulkGet(final Collection<String> ids) {
return Observable
    .from(ids)
    .flatMap(new Func1<String, Observable<JsonDocument>>() {
        @Override
        public Observable<JsonDocument> call(String id) {
            return bucket.async().get(id);
        }
    })
    .toList()
    .toBlocking()
    .single();
}



public void updateDocuments(Collection<JsonDocument> documents) {
    Observable.from(documents).flatMap(new Func1<JsonDocument, Observable<JsonDocument>>() {
        @Override
        public Observable<JsonDocument> call(final JsonDocument docToInsert) {
            return bucket.async().upsert(docToInsert);
        }
    }).last().toBlocking().single();
}
...