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

Введение

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 - инструкция для разработчиков

Полезные ссылки

Формат данных Apache Avro

Процесс отправки потока данных#

  1. Создание заявки в ServiceDesk на подключение издателей
  2. В заявке должны быть указаны ответственные за поток данных со стороны владельца данных
  3. Дата-стюард свяжется с ответственным для уточнения деталей
  4. Необходимо описать контракт согласно структуре контракта
  5. Проверить контракт инструментами валидации
  6. Опубликовать контракт согласно правилам работы с Git
  7. Пройти процесс согласования
  8. CI-пайплайн сгенерирует и сохранит Avro Schema в артефактах репозитория
  9. Команда эксплуатации платформы данных, произведёт необходимые настройки для заведения потока данных
  10. Необходимо начать отправку данных в stage-окружение платформы согласно инструкции
  11. После успешной интеграции в stage-окружение, следует начать отправку данных в production-окружение