Data Engineer
Описание
Обязанности: Очистить и трансформировать данные о людях и их связях из реляционной базы данных MS SQL Server Вычислить прямые и производные родственные связи на основе неверифицированной (содержащей ошибки) информации и сформировать итоговую реляционную структуру (таблицы узлов и ребер), представляющую собой готовый граф родственных связей. Результаты, которые ожидаются от кандидата: 1. Таблица «Узлы» (Nodes): Справочник уникальных персон (с суррогатными ключами, устранением дублей).2. Таблица «Ребра» (Edges): Таблица связей, содержащая как прямые (факты из исходной БД), так и вычисленные/производные связи.3. Матрица степеней родства (опционально, но желательно): Таблица или функция, позволяющая для любой пары узлов определить степень родства (например, 1-я степень, 2-я степень, свойственники).4. Документация: Описание бизнес-логики (как именно вычислялись производные связи) и карта трансформации данных. Требования: Продвинутое знание MS SQL Server (T-SQL): Уверенное написание сложных запросов, использование оконных функций. Критически важно: Глубокое понимание и опыт работы с рекурсивными запросами (Recursive CTE), так как они необходимы для обхода иерархий и поиска путей в графе (например, поиск степени родства между двумя людьми). Понимание моделей данных: * Умение проектировать реляционные таблицы для хранения графов в формате Edge List (Список ребер: Source_Node_ID, Target_Node_ID, Relationship_Type, Weight/Confidence).* Понимание разницы между ориентированными и неориентированными графами и как это отражается в таблице (например, связь "супруг" — неориентированная, "родитель" — ориентированная). Работа с качеством данных (Data Quality): * Опыт решения задач дедупликации (слияния дублей записей о людях).* Умение работать с неполными данными, противоречиями и «висячими» ссылками. Алгоритмическая логика в SQL: * Умение писать SQL-скрипты для вычисления транзитивных связей (например, вычисление связи «Двоюродный брат» через цепочку «Родитель -> Родитель -> Ребенок»). Понимание логики родства (Генеалогическая логика): * Способность формализовать правила родства. Кандидат должен понимать, как из базовых связей (Родитель, Ребёнок, Супруг) математически/логически выводятся сложные связи Братья/Сёстры, Дядя/Тётя, Двоюродные братья/сёстры, Бабушки/Дедушки). Обработка краевых случаев (Edge Cases): * Умение закладывать в логику обработки нестандартных ситуаций: повторные браки, сводные братья/сестры , усыновление/удочерение, разводы, случаи, когда один из родителей неизвестен. Выявление аномалий: * Способность написать скрипты для поиска логических ошибок в исходных данных (например, циклы: А — родитель Б, Б — родитель В, В — родитель А; или человек старше своего «родителя»). Мы предлагаем: Лидер рынка: Работа в крупной, стабильной и аккредитованной Минцифры IT компании. Стабильность: Официальное оформление по ТК РФ, полностью "белая" заработная плата. Здоровье: Расширенный пакет ДМС со стоматологией для вас. Активный отдых: Спортивные активности (командные соревнования), увлекательные корпоративы и тимбилдинги. Поддержка семьи: Подарки для детей к праздникам и семейные мероприятия, предоставляем материальную поддержку при рождении ребенка, заключении брака и в других значимых жизненных ситуациях. Удобство: Офис в 5 минутах от м. Савеловская, гибкое начало рабочего дня. Команда: Присоединяйся к коллективу экспертов, где ценят взаимопомощь и профессионализм. Компания входит в реестр IT компаний «Минцифры».