Маппинг данных

Соответствие загружаемых данных модели задается в файле преобразования данных формата 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" }.