MLCP с потоком данных

Не уверен, что это правильный вопрос или нет...

Требование. Я собираюсь написать приложение, которое собирает огромные данные с внешней конечной точки REST. Я хочу использовать MLCP для хранения этого потока данных, поступающих с внешней конечной точки REST в MarkLogic.

возможно ли использовать MLCP?

Пожалуйста, дайте свои решения.


person Shivling Bhandare    schedule 07.09.2018    source источник


Ответы (2)


DMSDK (SDK для перемещения данных) может помочь удовлетворить ваши требования:

http://docs.marklogic.com/guide/java/data-movement

person ehennum    schedule 07.09.2018
comment
MLCP удобен для загрузки из файловой системы или другого экземпляра MarkLogic. DMSDK — это способ потоковой передачи из внешнего источника. - person Dave Cassel; 08.09.2018
comment
Верно. Что сказал мистер Кассель. - person ehennum; 08.09.2018

Если под «потоком» вы подразумеваете неограниченный в пространстве и времени, а под «огромным» подразумеваете несколько ГБ+, то никакой MLCP не является правильным выбором или недостаточен. MLCP - это "пакетная" программа командной строки, вам нужно, чтобы все ваши данные уже были сохранены локально перед ее запуском, в этом смысле это не "потоковая передача".

В любом случае вам нужно будет разделить ваши данные перед отправкой в ​​MarkLogic — в идеале куски (документы) ‹ 100 МБ (не магическое число, просто хорошая верхняя граница). Таким образом, ваш потоковый код должен считывать данные, буферизовать их, разбивать на «фрагменты», а затем отправлять в ML. После «кусков» будет работать любой API для ML, включая MLCP. Существуют компромиссы между производительностью и удобством использования различных API — я оставлю это для другого обсуждения.

person DALDEI    schedule 07.09.2018