Как встроить собственный код в MarkLogic Data Hub Framework?

Я создал Сущность, создал ввод и гармонизирую поток. Я могу видеть сгенерированные файлы XQuery.

Теперь у меня есть требование, в котором мне нужно сделать некоторые (если-еще) с моими необработанными данными и на основе условий, которые мне нужно отправить некоторые данные в мою КОНЕЧНУЮ базу данных, и некоторые данные останутся в самой стадии STAGING (это не должно происходить в ФИНАЛ).

Я не понимаю, в каких файлах (main.xqy, headers.xqy и т. Д.) Мне нужно вносить изменения в код, поэтому, если я запускаю свой Harmonize Flow, все должно работать за один раз.


person Shalini    schedule 12.07.2018    source источник


Ответы (1)


Каждый из подключаемых модулей потока согласования в MarkLogic Operational Data Hub Framework предназначен для настройки. Есть пять плагинов: collector.xqy, content.xqy, header.xqy, triples.xqy и writer.xqy. Самая простая гармонизация следует примерно так:

  1. Определите, какие документы в промежуточной базе данных необходимо обработать в плагине сборщика.
  2. Преобразуйте документы из шага 1. в плагине содержимого (добавьте логику if / else)
  3. Запишите согласованные документы из шага 2 в окончательную базу данных с помощью модуля записи.

Вот краткое описание каждого из подключаемых модулей из ODH Wiki :

Коллекционер

Выберите идентификаторы документов в промежуточной базе данных для обработки.

Содержание

Выполните преобразование входных данных в нормализованный или канонический формат для сохранения в окончательном документе или документах. Здесь вы можете добавить собственный код преобразования.

Заголовок

Плагин заголовков отвечает за извлечение элементов заголовков из содержимого. Здесь вы можете добавить метаданные или дополнить контент в разделе заголовка.

Тройки

Плагин triples отвечает за извлечение семантических троек из исходного контента. Вы можете контролировать встроенные тройки в документе конверта.

Писатель

Плагин записи отвечает за запись окончательного конверта в базу данных. С помощью этого модуля вы можете управлять разрешениями вывода, URI, коллекциями и т. Д. Согласованного документа.

person Elijah Bernstein-Cooper    schedule 12.07.2018