Перейти к содержанию

Catalog

Catalog — набор справочных данных, словарь или lookup-таблица, используемая при трансформации и валидации. Типичный пример — Kontenrahmen (план счетов) с маппингом код → имя.

Как используются каталоги

Во время трансформации каталог отдаётся DuckDB как временная таблица, чтобы маппинг Transformer или бизнес-правило могли искать значения:

(SELECT "name" FROM dict_kontenplan WHERE "code" = "Konto")

Хранение

Данные каталога хранятся как Parquet (через polars), а не строками в PostgreSQL. Каталог может быть и schema-first — определён с колонками, но пока без данных — чтобы подготовить структуру до прихода справочных данных.

Scoping

У каталогов самый богатый scoping среди всех объектов — четыре уровня:

  1. Org-level — переиспользуется везде.
  2. Project-scoped — привязан к одному проекту, автоматически доступен в нём.
  3. Provider-scoped — привязан к конкретному Data Provider.
  4. Org-level, привязанный к проекту через join-таблицу.

Project-scoped каталог переопределяет привязанный org-level каталог того же имени — так же, как разрешаются entity.

Импорт данных может переформировать схему

Импорт строк в каталог сводит его схему к тем колонкам, что есть в импортируемом файле. Если нужно сохранить лишние колонки, включите их (пусть и пустыми) в импорт.

Связанное