Было несколько направлений (отделов) в компании?
Инженерия, инфраструктура, аналитика
Расскажи про твой проект в ЗАО «Водород».
Я работал над гибридным data-pipeline, который объединял batch и streaming обработку данных. Основная цель проекта — интеграция данных из разных источников в DWH и предоставление real-time дашбордов для аналитиков и мониторинга пользовательских действий. Первые шесть месяцев я проходил стажировку, где изучал внутренние процессы, изучал архитектуру пайплайнов и помогал с простыми задачами по ETL и поддержке потоков. После этого я участвовал в разработке и поддержке как batch, так и streaming пайплайнов, включая обработку данных в Greenplum и Spark/PySpark, а также интеграцию данных в Data Lake и real-time дашборды.
Какие технологии использовались в проекте?
Основные технологии, с которыми я работал: Apache Kafka для потоковой передачи данных, PySpark для обработки больших данных, Greenplum как DWH, HDFS для хранения Data Lake, а также Airflow для оркестрации ETL-процессов. Кроме того, я имел опыт администрирования Hadoop-кластеров и исправление ошибок в различных компонентах.
Часто приходилось разбираться в чужом коде, документации и уже на базе этого переделывать, оптимизировать. Иногда приходилось легаси переписывать.
Какой был размер команды?
В проекте был 1 тимлид, около 5 data engineer’ов и 3 аналитика. Я первые полгода был стажёром, потом работал как инженер данных в общей команде.
Какие задачи выполнял самостоятельно, а какие с помощью?
Самостоятельно я выполнял более локальные задачи: доработки ETL, простые трансформации, SQL-агрегации, исправление багов, мониторинг пайплайнов.
Более сложные задачи и архитектурные вопросы решались совместно со старшими коллегами.
Откуда интегрировались данные?
Данные интегрировались из продуктовых e-commerce систем: event-данные поступали через Kafka, транзакционные данные — из OLTP-баз batch-процессами, а также использовались логи и справочники. Все данные сначала попадали в Data Lake, после чего обрабатывались и загружались в Greenplum для аналитики и real-time мониторинга.
А что за базовые реал-time метрики?
Под базовые real-time метрики мы понимали показатели активности пользователей и транзакций: просмотры страниц, клики, добавления в корзину, оформление заказов, а также ключевые показатели конверсии и успешности транзакций. Эти метрики рассчитывались потоковыми пайплайнами и отображались на дашбордах для оперативного мониторинга.
Как ты мониторил данные?
Для мониторинга пайплайнов я использовал Airflow для batch-процессов — проверял статус DAG’ов и логи задач, а для streaming-пайплайнов — Kafka UI и Spark UI, чтобы следить за задержками и количеством обработанных событий. Также я обращал внимание на алерты и сверял результаты с аналитиками для проверки корректности данных.
С помощью чего реализовывалась интеграция?
Интеграция данных в проекте реализовывалась через Kafka для потоковых событий и batch ETL-процессы на PySpark и SQL для транзакционных данных. Все данные сначала попадали в HDFS Data Lake, после чего обрабатывались и загружались в Greenplum для аналитики и real-time дашбордов.