MarkLogic версия: 9.0-6.2
Мы пытаемся использовать mlcp для загрузки ежедневных изменений данных клиента в data-hub-STAGING, а затем использовать поток согласования для внесения изменений в data-hub-FINAL.
Как я понимаю, «collector.sjs» используется для возврата Uris, который должен быть согласован.После полной загрузки в 1-й день, есть ли способ, которым коллектор может идентифицировать изменения предыдущего дня и согласовать только эти строки?
У меня есть пара конструкций
Сохраняйте время выполнения пакета при каждом запуске и имейте логику в сборщике для возврата Uris с более высоким временем выполнения пакета (каждый документ сохраняется со временем выполнения пакета)
Сохранить каждый документ вдве коллекции (customer и customer_currentDate), а затем сборщик возвращает документы из коллекции customer_currentDate.Однако это будет иметь проблему, если прогон прогона и согласования выполняется в разные дни
Сохраните каждый документ в две коллекции (customer и customer_batchDateTime), а затем создайте маркер (что-то вроде строки вколлекция PROCESS с PROCESS_IND в качестве 'N').Затем сборщик просматривает коллекцию PROCESS и ищет документы с PROCESS_IND в виде 'N' и возвращает документы из коллекции customer_batchDateTime.Наконец, writer.sjs будет превращать PROCESS_IND в «Y»
Перед тем, как перейти к любому из перечисленных выше параметров, я просто хочу проверить, есть ли какие-либо встроенные возможности в ingest илигармонизировать процесс, чтобы легко идентифицировать дельта / записи изменений, чтобы я не переусердствовал с процессом.