Иван К. , Senior, Data инженер

Male avatar
Иван К.
Россия, Москва
2 875 ₽/час460 000 ₽/мес. без НДС
Опыт работы:
Более 6 лет
Языки:

Английский — B2

ПисьменныйРазговорный

О специалисте

Навыки
Python
NoSQL
Agile
Apache Kafka
docker-compose
Bash
Jupyter Notebook
apache hive
Apache NiFi
Apache AirFlow
Big Data
Clickhouse
PySpark
MapReduce
Pandas
Hadoop
ETL
Trino
Yarn
HDFS
DBT
GreenPlum
Git
S3
Apache Iceberg
Apache Superset
Technology:
REST API
SQL
Database:
PostgreSQL
Source_control:
GitHub
Формат работы
Удалённо
Описание о специалисте

Я Data Engineer с 6+ годами опыта в разработке, оптимизации и сопровождении ETL/ELT-пайплайнов и DWH в production. Работал с Big Data-инфраструктурой, распределёнными вычислениями и облачными хранилищами. Занимался оптимизацией SQL и batch-обработки, обеспечением качества данных, SLA и отказоустойчивости пайплайнов. Имею опыт масштабирования платформы при росте объёмов данных и подключении новых внешних источников. Активно использую ии Claude Code в своей работе

Примеры работ

NDA
Описание задачи/проекта

Информационные технологии, системная интеграция, интернет

Позиция на проекте
Data Engineer
Ответственность
  1. Разработал и внедрил полный ETL-пайплайн для создания витрины атрибуции источников трафика просмотров для аналитического виджета Студии Rutube на Scala/Apache Spark в k8s, Apache Airflow и Apache Iceberg: детальная витрина (DDS-слой, 28 млн записей/день) с разбивкой по 10+ каналам привлечения (внешние через Яндекс.Метрику, внутренние — поиск, рекомендательные полки, автоплей, баннеры), агрегат и потоковая выгрузка в Kafka-топик для аналитического виджета. Обеспечил SLA готовности витрины на уровне 99.9%.
  2. Провёл миграцию и тестирование дата-платформы (Spark, Trino, Airflow, Starrocks) с Hive Metastore 3.x (Thrift) на Hive Metastore 4.0.2 (Apache Iceberg REST Catalog). Перевёл Spark-пайплайны (k8s-операторы Airflow + Zeppelin) на REST-каталог с OAuth2-авторизацией через Keycloak и хранилищем на S3, не меняя бизнес-логику ETL-джобов. Cобрал тестовый Airflow-DAG из 30 задач, покрывающий полный цикл DDL/DML (INSERT/UPDATE/DELETE/MERGE), чтение метаданных, time-travel и обслуживание Iceberg . Локализовал и устранил серию блокеров миграции (несовместимость FileIO S3FileIO →HadoopFileIO) подтвердил кросс-движковую совместимость Spark ↔ Trino на общем REST-каталоге.
  3. Оптимизировал Spark-пайплайн (Scala) сопоставления сценариев: переписал оконные функции на натуральные ключи, уменьшил партиционный скан с 3 до 1 дня — сократил объём считываемых данных в 3 раза без потери точности.
  4. Провел мажорный апгрейд ClickHouse (24 →25) критического продакшн-пайплайн загрузки справочника гео (ClickHouse → S3 Parquet → Apache Iceberg на Spark/Kubernetes, оркестрация Apache Airflow): локализовал корневую причину — несовместимость нового analyzer с табличной функцией numbers() при неконстантном аргументе — и переписал SQL на константный предел, устранив ошибки Code 36 и Read Timeout и вернув ежедневную загрузку справочника в SLA со 100% успешных ранов
  5. Обнаружил и исправил ошибку в DQ-проверке Kafka–Iceberg пайплайна (Airflow, Spark): ложный алерт из-за игнорирования таймзоны при прунинге партиций. Изменил SQL-фильтр на UTC/МСК — устранил 365+ ложных инцидентов/год, сократил ручные перезапуски DAG до нуля, гарантировал 100% корректность алертов.
  6. Спроектировал и внедрил инкрементальный почасовой ETL-пайплайн rutube_video / rutube_video_version (~900M записей) на Apache Spark (Scala), Apache Iceberg и Apache Airflow, заменив полный ежедневный пересчёт каталога обработкой только изменившихся видео через MERGE INTO; повысил частоту обновления критичных для аналитики данных в 24 раза (с суточной до часовой) при одновременном снижении потребления ресурсов на ~50% за счёт Iceberg merge-on-read, broadcast-джойнов и partition pruning, а также реализовал SCD2-версионирование с сохранением истории атрибутов видео (правообладатель, теги, тип канала)
  7. Внедрил сквозное логирование падений продакшен Kafka Streams ETL-сервиса на 16 репликах в Kubernetes/ArgoCD , что довело долю инцидентов с залогированной причиной с 0% до 100% и устранило «слепые» рестарты подов. Развернул dev-контур приложения — изолированное ArgoCD-приложение в отдельном namespace с уникальной consumer-group и тестовым output-топиком, что позволило безопасно валидировать изменения против боевого Kafka без риска для прод-трафика. Подготовил техническую документацию для onboarding следующих разработчиков: архитектура топологии, конфигурация, сборка, локальный запуск и порядок тестового деплоя в ArgoCD.
  8. Разработал и внедрил критические DQ-проверки для витрины данных Mediascope: контроль непрерывности периодов по эталонному календарю (поиск пропусков дат/часов) и валидацию минимального количества записей в сутки (≥1530). Реализовал автоматический алертинг в Telegram при нарушениях, что исключило пропуски периодов в отчётности, сократило число инцидентов, связанных с неполнотой витрины, до 0 и гарантировало 100% достоверность данных.
  9. Провёл диагностику аномально долгого Spark-этапа (~30 мин): установил корневую причину — 261 232 position-delete файла Iceberg на партицию при 379 data-файлах (merge-on-read продюсера), устранив узкое место с помощью компакшина rewrite_position_delete_files iceberg таблиц
  10. Разработал и вывел в прод ежедневные витрины притока и рекуррентных продлений подписок RUTUBE (WEB/APP) на Apache Spark SQL, Iceberg и Airflow для маркетингового дашборда в Superset: перевёл расчёт с Trino на Spark, заменив DELETE+INSERT на атомарный INSERT OVERWRITE по партишну дня и самореференсную классификацию рекуррентов через полуоткрытый интервал
  11. Внедрил автоматическую проверку качества кода Ruff в CI/CD-пайплайн GitLab для Python-репозиториев собрал единый docker-образ линтера (python_linter → Artifactory) .
  12. Спроектировал и внедрил ETL-пайплайн построения аналитической витрины на Apache Spark , Apache Iceberg и Apache Airflow в Kubernetes, источником которого была продакшн-таблица PostgreSQL на 500+ млн строк. Заменил наивный full-scan через JDBC на параллельное партиционированное чтение (partitionColumn / numPartitions по числовому ключу с предрассчитанными границами lower/upperBound), сняв нагрузку с реплики Postgres и распараллелив выгрузку по экзекьюторам; реализовал инкрементальный забор по водяному знаку (updated_at high-watermark в XCom/Airflow Variable) с идемпотентным MERGE INTO в Iceberg, отказавшись от ежедневного полного пересчёта.
  13. Спроектировал и внедрил Python-микросервис алертинга по расхождениям рекламной аналитики (Trino → парсинг → шаблон → рассылка), заменив тяжеловесный DQ-костыль (монолитный Spark) на разовую k8s-джобу (Airflow KubernetesPodOperator. Реализовал доставку в два независимых канала — корпоративный мессенджер Express (BotX REST API) и Telegram (Bot API) — с изоляцией сбоев по каналу.
Технологии и инструменты
Clickhouse, Confluence, DBT, Git, Grafana, Jira, Kafka, Kubernetes, MySQL, Python, S3, Scala, Spark, SQL, Superset, Vault, postgress, Airflow, Iceberg, Trino, Parquet, Starrocks, DataHub, HMS
Период работы/продолжительность
Октябрь 2023 - Октябрь 2026
NDA
Описание задачи/проекта

Финансовый сектор

Позиция на проекте
Data engineer
Ответственность
  1. Разработал 10+ пайплайнов для создания витрин данных для моделей расчёта коммуникаций при помощи Apache Spark,Apache Airflow и Hadoop,обеспечив регулярную отчётность и операционные решения в 100% случаев без сбоев по данным
  2. Разработал и внедрил систему мониторинга качества данных, что снизило количество инцидентов, связанных с некорректными данными, на 40%
  3. Создал комплекс проверок (completeness, accuracy, consistency, timeliness) и внедрил автоматический алертинг при отклонениях показателей качества и аномалий в grafana, что сократило количество ручных проверок со стороны аналитиков на ~30%
  4. Модернизировал оркестрацию в Airflow, внедрив ExternalTaskSensor и TriggerDagRunOperator, что устранило race conditions и обеспечило 100% консистентность данных витрин данных (Data Marts)
  5. Спроектировал и ввёл в эксплуатацию аналитическую витрину (300+ млн строк, ~150 ГБ/сутки), обеспечил стабильную загрузку и контроль качества данных, витрина стала источником для регулярной отчётности и операционных решений
  6. Оптимизировал ETL-пайплайны, повысив производительность на 45% в Apache Spark (за счёт бродкаст-джойнов, партиционирования, кэширования и настройки shuffle-операций)
  7. Сократил время выполнения пайплана с 3 часов до 30 минут, тем самым снизил риск при сбоях — если пайплан упадёт в 9 утра, его перезапуск займёт 30 минут вместо 3 часов, и дневная отчётность всё равно успеет к плановому сроку
  8. Снизил операционные затраты на 20%,через оптимизацию использования ресурсов Hadoop кластера
  9. Мигрировал пайплайны с сохранением функциональности и улучшением производительности,обеспечил бесперебойный переход без downtime для бизнес-пользователей,тем самым устранил риски остановки отчётности в ключевой период
  10. Перенес формирование витрин в Greenplum на модульную dbt-архитектуру, исключив ручной DROP CASCADE и ускорив сборку core слоя с нескольких часов до 15-20 минут
  11. Ускорил аналитические SQL запросы в ClickHouse в 5-10 раз через Data Projections с альтернативной сортировкой, исключив Full Table Scan и сохранив совместимость без правок кода заказчиков.BI-дашборды стали работать без задержек» в часы пик
  12. Разработал 20+ витрин данных с инкрементальной загрузкой для ежедневных отчетов с помощью Greenplum, DBT,Trino. Тем самым снизил нагрузка на кластер Greenplum на 30% (инкремент вместо перезалива таблиц), и снизил время загрузки витрин на 70%
  13. Интегрировал Apache Iceberg в Spark-пайплайны, настроив инкрементальные модели с проверкой snapshot'ов. Сократил время полного обновления витрины с 2 часов до 10 минут (Iceberg читает только изменённые файлы через merge-on-read)
  14. Перевёл витрины на новые источники данных, устранил зависимость от legacy-систем и обеспечил актуальность данных T+0 вместо T+1, что сократило задержку доставки метрик бизнесу на сутки. Повысил точность прогнозов на 15–20% за счёт актуальности входных данных
  15. Провел комплексный анализ источников данных и сбор требований для новых источников для построения витрин данных,участвовал в создании архитектуры проекта
  16. Проводил регресс-тестирования для разработанных пайплайнов на dev стенде
  17. Оптимизировал batch-пайплайны в Hadoop-кластере, переработал SQL-логику, устранил OOM и disk spill , что снизило shuffle-трафик на ~40% и сократило время выполнения пайплайнов на~25%
  18. Оптимизировал sql запросы для витрин на миллиарды строк ускорив загрузи витрин данных и сэкономив этим 40+ GB оперативной памяти сервера DWH
  19. Произвел рефакторинг критически важных ETL пайплайнов на Airflow и Greenplum, убрав избыточные операции, благодаря чему перенос необходимых данных ускорился в среднем на 30%.
  20. Разработал DBT-модели для staging и mart-слои, что обеспечило стандартизацию трансформаций данных и повышение прозрачности DWH
  21. Спроектировал и внедрил DAG’и в Apache Airflow (с использованием Sensors,BranchPythonOperator и XCom) для оркестрации batch-пайплайнов и синхронизации данных между источниками, автоматизировал 20+ регулярных загрузок и сократил количество ручных операций на 30%
  22. Имплементировал новые типы данных и источников - анализировал входные форматы, проектировал схемы данных, реализовывал ingestion и трансформации, настраивал валидации и обеспечивал корректную интеграцию в существующую архитектуру
  23. Занимался онбординг новых дата инженеров и созданием документации для ускорения онбродинга
Технологии и инструменты
Clickhouse, DBT, Git, Grafana, GreenPlum, Hadoop, HDFS, Hive, Jira, Kafka, Python, Spark, SQL, Superset, Yarn, Airflow, Iceberg, Trino, Parquet, Oozie
Период работы/продолжительность
Декабрь 2019 - Октябрь 2023

Образование

Высшее
Название учебного заведения/курса
Московский государственный университет имени М.В. Ломоносова
Специальность
Факультет биоинженерии и биоинформатики
Аналогичные специалисты
Не нашли, кого искали?

Оставьте заявку и, наша команда в кратчайшие сроки подберёт необходимого специалиста за вас!

Помните, что заключение договора и оплата услуг происходит после того, как вы выбрали специалиста.

Request Poster