Правила разбора данных
3 минутное чтение
«Сырые»(первичные) данные – данные полученные от источника, в формате специфичном для источника, но не обязательно совпадающем с форматом данных используемым в DWH. Если формат «сырых» данных делает невозможным прямое их помещение в DWH, необходимо применить алгоритмы извлечения. Выбор алгоритма обусловлен типом данных. Алгоритм извлечения данных нуждается в некоторых настройках, предварительно выполненных пользователем. Данные настройки специфичны как для формата данных, так и для конкретной структуры данных.
Сумма таких настроек является: правилом разбора данных.
В ETL правила разбора данных находятся в справочнике «Правила разбора данных». Для того чтобы открыть справочник «Правила разбора данных» перейдите: Панель функций раздела «Главное» » Настройки » Установить правила разбора данных
Правило разбора данных
Задача правила - указать алгоритму извлечения где в данных находится нужная информация, в какие поля таблицы приёмника с каким типом следует её поместить.
Форма правила:
Описание табличной части правила
Колонка таблицы
- (2) - Имя колонки таблицы в которую следует поместить значение из первичных данных.Тип поля
- (3) - Тип данных колонки таблицыПуть к элементу
- (4) - Описание пути к элементу внутри первичных данных. Используется формат специфичный для типа первичных данных. Для JSON – используется JSONPath, для XML – XMLPath и т.д.Тип элемента
- (5) - Ожидаемый тип элемента в первичных данных. Используется для проверки/приведения типа.
Если тип элемента в первичных данных не соответствует указанному, данные элемента загружены не будут.
Если выбрать тип элемента аналогичный типу первичных данных (пример: JSON-json), то данные элемента будут загружены в оригинальном формате. Таким образом можно загружать целиком блоки данных, например массив JSON можно поместить в одну колонку таблицы с типом text или jsonb.
Если тип поля таблицы и тип поля элемента отличаются, будет выполнена попытка приведения типа элемент к типу поля. В ситуациях когда приведение не очевидно, есть варианты для таких типов, например: «Дата строкой (ISO)» подсказывает что данные имеют строковой тип, но представляют собой дату в ISO формате.!
- (6) – Флаг необязательного элемента. Необязательным является такой элемент, данные из которого не нужны сами по себе, а только совместно с данными обязательных элементов. Таким образом, если данных в обязательных элементах не окажется, не обязательные загружены не будут.По умолчанию
- (7) – Значение по умолчанию для колонки таблицы. Используется если элемент в данных отсутствует, не содержит значение, или не может быть приведён к типу данных колонки таблицы.Набор
- (1) – Произвольное имя, используется для объединения отдельных строк правила в набор. Наборов может быть несколько. Все наборы описывают общую структуру таблицы приёмника, но содержат разные пути к элементам. Позволяет в одну таблицу загружать строки, полученные из разных областей первичных данных.
Общие свойства правила
Тип данных
- Тип первичных данных, требуется для выбора алгоритма при разборе данных по правилу.Кодировка
- Позволяет точно указать кодировку элементов с типом «текст» в первичных данных.
Конструкторы правил - Инструменты для создания правил на основании образца первичных данных.
Открыть конструктор с пустым правилом возможно из формы списка справочника «Правила разбора данных» используя кнопку
Из формы элемента справочника «Правила разбора данных» можно открыть в конструкторе конкретное правило используя кнопку