«Cырые» (первичные) данные — это информация, полученная от источника в его исходном формате, который не всегда совпадает с форматом хранилища данных. Если формат «сырых» данных не позволяет напрямую загрузить их в хранилище, необходимо применить алгоритмы извлечения, выбор которых зависит от типа данных.

Алгоритмы извлечения требуют предварительной настройки пользователем. Эти настройки зависят от формата и структуры данных. Совокупность таких настроек формирует правило разбора данных.

Правила разбора данных хранятся в справочнике «Правила разбора данных», доступном через меню: «Главное/ Настройки/ Установить правила разбора данных».

Отображается окно с правилами разбора данных.

Правило определяет для алгоритма извлечения, где в данных расположена необходимая информация, в какие поля целевой таблицы её следует перенести и с каким типом данных.

Форма правила представлена ниже:

Табличная часть правила определяет, как извлекать данные из первичных источников и загружать их в целевую таблицу. Ниже описаны ключевые параметры:

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

Конструкторы правил — это инструменты для создания правил обработки данных на основе образца первичных данных.

Из окна «Правила разбора данных» можно открыть конструктор с пустым правилом, нажав кнопку:  

Из формы правила можно открыть конструктор для редактирования конкретного правила, используя кнопку:  

Подробнее о создании правила разбора данных смотрите в разделе «Конструктор правил разбора JSON».