Введение
TL;DR
Контракт - это согласованный формат данных, который определяет:
| Характеристики | Описание |
|---|---|
| Схему | ◦ Имена столбцов ◦ Типы данных |
| Семантику | ◦ Описание сущности и столбцов ◦ Тэги. Используя тэги, мы соединим таксономию и контракты. Это позволит пользователям эффективно контролировать соблюдение стандартов, проверять данные и автоматизировать процессы ◦ Проверки целостности. Правила проверки, которые гарантируют целостность атрибута в сущности |
| Безопасность | ◦ Политики доступа ◦ Политики данных |
| Бизнес проверки | ◦ Проверки качества ◦ Частоту проверок |
Tip
На основе схемы формируется Avro Schema, которая используется для сериализации данных и отправки в HTTP Gateway платформы данных. Контракты создаются и изменяются владельцами данных в gitlab.kruma.ru/contract, при этом любые изменения требуют их подтверждения (Approve)
Подключиться к платформе как издатель
Содержание
Обновление контракта — порядок внесения правок
Работа с вложенными структурами - рекомендации по формированию плоских структур
Нейминг — соглашение именования контрактов, репозиториев и полей
Таблица соответствия типов - Описанные соответствия типов данных контрактов до Go, JSON, PostgreSQL, Apache Avro, Apache ORC, Apache Iceberg, ClickHouse, Trino, Python, Spark
Партиционирование — Правила выбора ключей партиционирования. Лучшие практики для эффективного хранения данных
Работа в Git — управление репозиториями контрактов
Тулинг для контрактов — автоматизация работы с контрактами
Отправка данных в Gateway - инструкция для разработчиков
Полезные ссылки
Процесс отправки потока данных#
- Создание заявки в ServiceDesk на подключение издателей
- В заявке должны быть указаны ответственные за поток данных со стороны владельца данных
- Дата-стюард свяжется с ответственным для уточнения деталей
- Необходимо описать контракт согласно структуре контракта
- Проверить контракт инструментами валидации
- Опубликовать контракт согласно правилам работы с Git
- Пройти процесс согласования
- CI-пайплайн сгенерирует и сохранит Avro Schema в артефактах репозитория
- Команда эксплуатации платформы данных, произведёт необходимые настройки для заведения потока данных
- Необходимо начать отправку данных в stage-окружение платформы согласно инструкции
- После успешной интеграции в stage-окружение, следует начать отправку данных в production-окружение