Приоритетной задачей является построение процесса инкрементальной загрузки данных, при котором из источника передаются исключительно изменённые с момента последнего запуска записи, без промежуточной трансформации.
Что позволит оптимизировать ресурсы и временя на передачу данных.
Задача будет продемонстрирована на примере инкрементальной загрузки по атрибуту «Версия данных» из справочника 1С базу данных «PostgreSQL» с использованием Фреймворка BI.Qube.
В меню выберем компонент «Staging», пункт «Команды». затем выберем модель данных.
Сначала необходимо настроить и выполнить полную загрузку справочника.
Требуется заполнить форму:
Для создания запроса к справочнику 1C, необходимо нажать кнопку «Создать». В окне создания запроса, в дереве объектов 1C необходимо найти нужный справочник — «Контрагенты», отметить его и нажать кнопку «Сформировать запрос».
Система автоматически сгенерирует запрос на языке 1C, при необходимости запрос может быть скорректирован.
Система по умолчанию работает в режиме формирования запросов на языке 1C, если необходим запрос на языке SQL, то можно перейти в соответствующий режим перед формированием запроса.
Необходимо выполнить проверку запроса, на этом этапе выполняется расчет параметров, входящих в запрос, если таковые есть. Затем нажать кнопку «Выполнить» и оценить полученные данные. Если данные соответствуют ожиданиям нажать «OK».
Нажать кнопку «Сохранить» и на этом процесс создания команды завершен.
Запуск команды на выполнение осуществляется через пункт меню «Профили». Нужно выбрать профиль и нажать кнопку «Загрузить», подтвердив действие.
Чтобы убедиться, что данные появились в целевой системе, необходимо перейти на вкладку «Данные».
В правой части экрана выбрать подключение, найти созданную таблицу в структуре модели данных.
Выделить её и нажать «Сформировать запрос».
После чего нажать выполнить и убедиться, что данные получены.
С целью демонстрации инкрементальной загрузки, в справочнике на источнике были внесены изменения для присвоения новой версии данных.
Переходим на вкладку «Команды».
В основном окне выбрать модель данных и отредактировать созданную ранее команду.
Для редактирования запроса нажать «Создать» — откроется конструктор с ранее сформированным запросом.
Для того, чтобы запрос отбирал изменения по версии данных, к нему необходимо добавить условие с использованием пользовательского параметра.
В данном параметре должна вычисляться максимальная версия данных в таблице назначения указанной команды.
Для добавления параметра перейдем в группу «Пользовательские параметры». Добавим необходимый параметр двойным нажатием левой кнопки мыши.
Проверим запрос, и выполним его.
Визуальная оценка данных в окне предварительного просмотра показывает, что запрос с указанным параметром возвращает одну новую запись.
Нажать «OK», а затем «Обновить» для сохранения изменений в команде.
Выполним команду инкрементальной загрузки.
Способ запуска команды загрузки не зависит от типа загрузки.
Повторим загрузку нашего профиля.
Переходим во вкладку «Данные».
По завершению загрузки убедимся, что в таблицу назначения была добавлена новая запись.
Для этого выполним запрос из таблицы назначения и найдем её.
Настроенная команда может запускаться на периодической основе, как в ручном режиме через вэб-интерфейс, так и с помощью оркестратора.
В результате проделанных действий, команда будет выполнять следующий сценарий:
Проверка и запись в пользовательский параметр максимальной версии данных из таблицы назначения
Отбор данных на источнике по пользовательскому параметру
Добавление только новых данных в таблицу назначения
На этом задача инкрементальной загрузки по атрибуту «Версия данных» из справочника 1C в базу данных «PostgreSQL» выполнена.