Инкрементальная загрузка справочника из 1С в Greenplum

Одной из наиболее распространенных задач является организация извлечения и доставки обновлённого объема данных из источника получателю.

Будет продемонстрирована инкрементальная загрузка справочника 1С «Номенклатура», в базу данных Greenplum, с использованием пользовательского параметра, типа SQL.

Рассмотрим задачу в два этапа.

Первый этап: создание команды и полная загрузка

Шаг 1: Создание команды

В меню выбрать «Staging», «Команды». Выбрать заранее созданную модель — «Тестовая модель GP».

В форме заполнить следующие данные:

  • Имя создаваемой команды;
  • Описание команды;
  • Указать профиль;
  • Модель — заполняется автоматически;
  • Домен — заполняется автоматически;
  • Источник данных — подключение предварительно было настроено — источником данных в примере является база данных 1С;
  • Целевая система — подключение предварительно было настроено;
  • Слой данных — устанавливается автоматически из ранее выполненных настроек модели данных;
  • Опция «Загрузка через Data Lake», позволяет использовать промежуточное хранилище при загрузке данных;
  • Опция «Материализация представлений в целевой БД», позволяет сгенерировать внешние таблицы или представления;
  • Имя целевой таблицы.

На первом этапе, выбрать опцию «Очистить перед выполнением». Этот режим обеспечит полное обновление данных в целевой таблице, при каждом запуске команды на выполнение.

Опция «Делать бэкап» позволяет перед выполнением команды создавать резервную копию таблицы назначения.

Шаг 2: Создание запроса

Для создания запроса к справочнику 1С, нажать «Создать». В окне создания запроса, в дереве объектов 1С необходимо найти нужный справочник «Номенклатура», отметить его и нажать «Сформировать запрос». При этом система по умолчанию работает в режиме формирования запросов на языке 1С. Если необходим запрос на языке SQL, то можно перейти в соответствующий режим. Система автоматически сгенерирует запрос на языке SQL.

При необходимости запрос может быть скорректирован, однако требуется опыт работы с запросами на языке 1С и уточнение из документации поддерживаемых инструкций языка 1С.

После создания запроса выполнить проверку запроса. На этом этапе выполняется расчет параметров, входящих в запрос, если таковые есть. Затем нажать «Выполнить». В зоне предварительного просмотра оценить полученные данные. Для сохранения запроса нажать «Ок».

Указать размер пакета данных.

Нажать «Сохранить». На этом процесс создания команды завершен. В списке появилась новая команда.

Шаг 3: Запуск команды

Запуск команды на выполнение осуществляется через меню «Профили» раздела «Staging».

Выбрать профиль, который был указан при настройке команды, убедиться что у интересующей команды «Состояние» в режиме активно, нажать «Загрузить».

Шаг 4: Проверка команды

Чтобы убедиться что данные появились в целевой системе, перейти в раздел «Данные», выбрать подключение к назначению — Greenplum, найти созданную таблицу, выделить её и нажать «Сформировать запрос». После чего нажать выполнить и убедиться, что данные получены.

Второй этап: инкрементальная загрузка

Для примера, выберем запись в целевой таблице.
Предположим, что в источнике, справочнике «Номенклатура», обновились данные указанной записи. Чтобы обновить записи в целевой системе, необходимо вернуться в раздел «Staging», «Команды», выбрать «Тестовая модель GP» и отредактировать ранее созданную команду.

Шаг 1: Редактирование команды

Выберем команду для редактирования.
Выключим опцию «Очистить перед выполнением команды».

В запрос команды, необходимо добавить условие, с пользовательским параметром.
Чтобы отредактировать запрос, нажмём «Создать».
В «Запросе к источнику», добавим условие загрузки.

Для добавления пользовательского параметра, перейдём в меню «Параметры».
Выберем «Пользовательские параметры», и в выпадающем списке, дважды нажмём на наименование параметра, который необходимо использовать в запросе. Параметр автоматически добавился в запрос.

Выполнить проверку запроса. Затем нажать «Выполнить» и убедиться, что запрос возвращает только обновлённые записи. В зоне предварительного просмотра, оценить обновлённые данные.
Для сохранения нажать «ОК».
Чтобы сохранить внесённые в команду изменения, нажать «Обновить».

Шаг 2: Загрузка команды

Чтобы обновлённые данные загрузились в целевую систему, выполним загрузку команды.

Перейдём в меню «Профиль».

Выберем профиль, который был указан при создании команды. Убедимся что у требуемой команды, состояние «Активно». Для загрузки нажать «Загрузить».

Шаг 3: Проверка корректности загрузки

Чтобы убедиться что обновлённые данные появились в целевой системе, нужно перейти в раздел «Данные», выбрать подключение к назначению — Greenplum, найти созданную таблицу, выделить её и нажать «Сформировать запрос». После нажать «Выполнить» и убедиться, что данные получены.

Для наглядности, найдём обновлённую запись.
В целевой системе, помимо старой записи, появилась и обновлённая запись.

Настроенная команда может запускаться на периодической основе, как в ручном режиме через веб-интерфейс, так и с помощью оркестратора.

На этом задача инкрементальной загрузки справочника из 1С в Greenplum выполнена.

Наверх

Мы на связи в мессенджерах

Напишите нам - это самый простой и быстрый способ получить ответ удобном формате!