Выполните команду загрузки содержимого MLCP как задачу расписания в Marklogic

Есть ли какой-нибудь возможный способ массовой загрузки данных с использованием MLCP в качестве запланированной задачи в Marklogic

2 ответа

Вы не можете вызвать mlcp через запланированное задание; Я рекомендую попробовать что-то вроде Apache Camel для этого.

Верблюд имеет компонент Timer и компонент Quartz, любой из которых можно использовать для планирования.

А вот пример файла Camel с маршрутом (закомментированным, но все еще работоспособным), который инициируется таймером, который затем записывает файл на диск и загружает его через mlcp - https://github.com/rjrudin/ml-camel-client/blob/master/src/main/resources/META-INF/camel-routes.xml.

Я добился больших успехов, выполняя все виды обработки / планирования в Camel, а затем в конечном итоге принимал контент через mlcp. Я думаю, что это хорошо подходит для вашего случая использования, так что вы можете использовать то, что mlcp делает лучше всего - загружать контент в MarkLogic как можно быстрее.

Запланированные задачи внутри MarkLogic можно вызывать внешние сервисы (используя HTTP), но у них нет способа запустить внешнюю команду. У вас есть несколько вариантов:

  • запланировать MLCP работать снаружи, используя cron в Linux или что-то в этом роде;
  • реструктурировать свою нагрузку, используя JavaScript или же XQuery; Вы можете извлекать данные из файловой системы, выполнять их через некоторые преобразования и вставлять их в базу данных, используя модули, запущенные в MarkLogic;
  • настроить сервер приложений Java, сделать запланированное задание HTTP запрос к этому серверу и вызов сервера приложений Java MLCP

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

Другие вопросы по тегам