Маппинг данных¶
Соответствие загружаемых данных модели задается в файле преобразования данных формата JSON.
Основные объекты модели данных – справочники и реестры, каждый из которых должен быть представлен отдельно в файле преобразования данных. Объект содержит поля, описывающие основные параметры, необходимые для интеграции, а также массивы внутренних объектов (атрибутов и связей), составляющих структуру основного.
В свою очередь, объекты реестров должны быть объединены в массив реестров (entities), а справочники – в массив справочников (lookupEntities). Задание соответствия данных модели требуется для операции экспорта данных.
Содержание маппингов помещается в Описание структуры данных операции экспорта. Кроме того, в операции должна быть указана ссылка на базу данных (поле URL базы данных).
Маппинг экспорта данных¶
Элементом маппинга первого уровня может выступать:
entities – в случае описания реестров;
lookupEntities – в случае описания справочников.
Ниже приведена структура маппинга для описания реестров/справочников.
Таблица 1 – Структура маппинга операции экспорта данных
Элементы |
Значения |
Описание |
|||
---|---|---|---|---|---|
1 уровня |
2 уровня |
3 уровня |
4 уровня |
||
entities |
Описание реестров |
||||
name |
Имя реестра/справочника |
||||
@type |
DB |
Тип источника данных |
|||
fields |
Атрибуты реестра |
||||
name |
Имя атрибута |
||||
@type |
DB |
Тип источника данных |
|||
column |
Столбец базы данных для экспорта информации |
||||
updateMark |
Метка обновления |
||||
update MarkType |
TIMESTAMP |
Тип метки обновления |
|||
@type |
DB |
Тип источника данных |
|||
column |
Столбец БД для экспорта информации |
||||
source System Column |
Столбец БД, в который будет выгружено название источника данных записи |
||||
multi Version |
true, false |
Применяется при обновлении записей с одинаковым External ID (если таковые существуют) [#]_ |
|||
joins |
SQL запрос для объединения данных |
||||
natural Key |
Идентификатор записи во внешней системе |
||||
@type |
DB |
Тип источника данных |
|||
alias |
Псевдоним для полученного ключа |
||||
column |
Столбец базы данных для экспорта информации |
||||
type |
Тип значения атрибута [#]_ |
||||
dqErrors Section |
Секция ошибок качества данных |
||||
@type |
DB |
Тип источника данных |
|||
table |
Таблица базы данных |
||||
external IdField |
Внешнее поле идентификатора |
||||
status Field |
Поле статуса |
||||
ruleName Field |
Поле имени правила |
||||
message Field |
Поле сообщения |
||||
severity Field |
Поле критичности правила |
||||
category Field |
Поле категории |
||||
source System |
Название источника данных |
||||
tables |
Таблицы базы данных, в которые будут экспортированы данные |
||||
version Range |
Описание периодов актуальности |
||||
normalize From |
true, false |
Признак нормализации даты начала периода [#]_ |
|||
normalize To |
true, false |
Признак нормализации даты конца периода [#]_ |
|||
valid From |
Актуален от |
||||
name |
Имя атрибута |
||||
@type |
DB |
Тип источника данных |
|||
column |
Столбец базы данных для экспорта информации |
||||
type |
"java.lang.String", "java.lang.Integer", "java.sql.Timestamp" |
Тип атрибута |
|||
validTo |
Актуален до |
||||
name |
Имя атрибута |
||||
@type |
DB |
Тип источника данных |
|||
column |
Столбец базы данных для экспорта информации |
||||
type |
"java.lang.String", "java.lang.Integer", "java.sql.Timestamp" |
Тип атрибута |
|||
isActive |
Признак активности периода/всей записи данных/связей [#]_ |
Примечания:
multiVersion - Применяется в случае, если существуют дублирующиеся по External ID записи. Это может быть необходимо для дозагрузки накопленных/обновившихся данных или для обновления разных периодов актуальности в пределах одной записи.
False – при загрузке записи будут восприниматься как разные, даже если имеют одинаковый External ID.
True – несколько версий одной записи будут загружаться как обновления одной записи. Если нет явной цели объединения записей, то рекомендуется как более безопасный вариант использовать значение false. Если порядок вставки важен, то необходимо сортировать записи (связи). При этом, сортировка не влияет на процесс формирования эталонной записи. Параметр используется для записей и всех видов связей.
type (для naturalKey) - Тип значения атрибута указывается из пакета java.lang.
Время, дата и дата/время: java.lang.Date или java.lang.Timestamp.
Логический: java.lang.Boolean.
Строковый: java.lang.String.
Численный: java.lang.Double.
Целочисленный: java.lang.Integer или java.lang.Long.
Файл и текстовый файл не импортируются и не экспортируются.
normalizeFrom - Если установлено значение true, то часы, минуты и миллисекунды даты начала периода будут обнулены, т.е. приведены к виду: 00:00:00:000.
normalizeTo - Если установлено значение true, то часы, минуты и миллисекунды даты конца периода будут приведены к виду 23:59:59:999.
isActive - Необходима возможность привести значение такого поля к булеву значению. Пример: "isActive" : { "name" : "IS_ACTIVE", "@type" : "DB", "column" : "v.is_active", "type" : "java.lang.Boolean" }.