Как мне написать несколько выходных файлов с помощью CoRB?

По умолчанию, когда я запускаю задание CoRB, которое возвращает данные из функции процесса, эти данные передаются в один файл на клиенте CoRB. У меня проблема: мне нужно записать выходные данные в разные файлы, по одному файлу на каждый обрабатываемый URI. Как записать выходные данные CoRB в несколько файлов вместо одного большого файла?

У меня есть задание CoRB, которое сегодня возвращает URI, и эти URI передаются вместе в один выходной файл, где каждый URI находится в новой строке. Я бы предпочел, чтобы каталог был заполнен файлами и имел по одному файлу на каждый URI.

1 ответ

CoRB имеет две встроенные задачи, которые можно использовать для записи вывода PROCESS-MODULE в файловую систему.

  • ExportBatchToFileTaskСоздает один файл , обычно используемый для отчетов. Записывает данные, возвращаемые PROCESS-MODULE, в один файл, указанный EXPORT-FILE-NAME. Все возвращаемые значения из всего CoRB будут переданы в один файл.
  • Генерирует несколько файлов . Сохраняет документы, возвращаемые каждым вызовом PROCESS-MODULE, в отдельный локальный файл в EXPORT-FILE-DIR , где имя файла для каждого документа будет основано на URI.

Люди обычно пишут задания CoRB для создания CSV и других отчетов, которые добавляют выходные данные выполнения PROCESS-MODULE в один файл. Если вы укажете опцию EXPORT-FILE-NAME , то CoRB автоматически будет использовать ExportBatchToFileTask , установив для вас опцию PROCESS-TASK (если вы явно не установили опцию PROCESS-TASK ):

      PROCESS-TASK=com.marklogic.developer.corb.ExportBatchToFileTask

Однако если вы предпочитаете, чтобы результаты выполнения каждого модуля процесса сохранялись в виде отдельного выходного файла для многопоточной загрузки/экспорта, вам следует настроитьExportToFileTask. Он будет использовать URI, отправленный в модуль процесса, для создания структуры каталогов, имени файла и сохранения результатов преобразования в этом пути к файлу.

Вы можете установить EXPORT-FILE-DIR , чтобы указать базовый каталог для записи этих файлов.

Итак, чтобы настроить CoRB для записи результатов каждого выполнения PROCESS-MODULE в отдельный файл, вам необходимо установить следующие параметры для вашего задания CoRB:

      PROCESS-TASK=com.marklogic.developer.corb.ExportBatchToFileTask
EXPORT-FILE-DIR=/tmp/export
Другие вопросы по тегам