1---2name: data-engineering3description: Применяйте при реализации или проверке корректности загрузки и преобразования данных; определяйте контракты источника и приёмника, обработку версий, идемпотентное воспроизведение, поздние данные, эволюцию схемы и перерасчёт истории.4---56# Разработка конвейеров данных78## Контракт данных910- Определите авторитетный источник, версии источника и приёмника, гранулярность строки, бизнес-ключ, поле версии или порядка, время события, время поступления, владельца и требуемую свежесть.11- Изучите гарантии коннектора и приёмника в фактической конфигурации проекта. Отличайте подтверждённые гарантии от желаемого поведения; название режима во фреймворке не доказывает сквозную обработку ровно один раз.1213## Ключевые решения14151. Определите логический диапазон входных данных и границу фиксации записи. Повтор после записи в приёмник, но до подтверждения обработки источнику, не должен дублировать результат; используйте стабильные ключи с обновлением по версии, атомарную замену раздела или другой доказанно идемпотентный способ.162. Укажите, как поздние события, обновления и удаления меняют предыдущие результаты. Выбирайте временную границу по времени события и допустимое опоздание исходя из бизнес-требований; для записей за пределами окна предусмотрите явную сверку или карантин вместо молчаливой потери.173. Рассматривайте эволюцию схемы как изменение контракта с потребителями: отличайте совместимые добавления от изменений типа, смысла, ключа и гранулярности. Проверяйте представительные старые и новые записи, включая отсутствующие поля, прежде чем менять правила контроля.184. Ограничивайте перерасчёт истории неизменными диапазонами или снимками. Предотвращайте конфликтующие записи с текущей обработкой, сохраняйте более новые версии при воспроизведении старых данных и определяйте порядок перезапуска, сверки и восстановления.1920## Результат и проверка2122- Подготовьте конвейер или заключение по проверке с кратким контрактом: ключи, порядок версий, диапазоны источника, место назначения, владелец, свежесть и правила обработки сбоев. Используйте templates/data-contract.yaml, если шаблон доступен.23- Где это применимо, проверьте дубликат, версию, пришедшую не по порядку, позднюю запись и сбой между записью и подтверждением обработки. Проверяйте ожидаемые ключи, версии, суммы и число отклонённых записей, а не только успешное завершение задания.24- Укажите фактически проверенные данные и разделы; для эксплуатационных изменений опишите восстановление.2526## Ограничения2728- Не меняйте незаметно смысл метрики или гранулярность, не отбрасывайте отклонённые записи без учёта и не игнорируйте воспроизведение данных и перерасчёт истории.29- Записи в production, изменения контрольных точек источника и перерасчёты выполняйте в пределах уже данных разрешений и правил проекта.