Data Engineer (Scala)
Описание
Ищем Data Engineer для создания витрин данных и интеграции с ML-моделью подбора тарифов. Работа с корпоративными источниками, хранилищами (HDFS, Hive, GreenPlum, реляционные СУБД), построение пайплайнов и подготовка признаков для рекомендательной системы. Обязанности: Разработка, тестирование и оптимизация процессов сбора, предобработки, агрегации и трансформации данных в аналитические витрины. Создание и мониторинг регулярных пайплайнов в Apache Airflow для расчёта признаков абонентов (трафик, начисления, ARPU, услуги, тарифы). Разработка и оптимизация Spark-приложений на Scala для пакетной обработки данных и подготовки фичей для ML-модели. Реализация контура обратной связи (feedback loop) для рекомендательной системы: сбор, валидация и передача откликов абонентов в ML-модель. Интеграция со смежными сервисами и API: отказоустойчивость, логирование, контроль таймаутов, мониторинг качества данных. Оптимизация производительности: партиционирование, профилирование, управление памятью и ресурсами кластера. Покрытие кода тестами, документирование витрин (DDL, Data Dictionary) и ETL-процессов в Confluence. Требования: Опыт в роли Data Engineer — от 1.5 до 2 лет. Apache Spark: Опыт разработки на Scala — от 1.5 лет. Понимание архитектуры Spark (driver, executor, стадии, shuffling, data locality). DataFrames/Datasets API, Spark SQL. Форматы: Parquet, ORC, Avro, JSON, CSV. Чтение/запись в HDFS, Hive, JDBC. Оптимизация: partitioning, repartition/coalesce, broadcast variables, accumulators, cache/persist. Профилирование через Spark UI и логи Yarn. Scala: Коллекции (List, Seq, Map, Set), функции высшего порядка (map, flatMap, filter, foldLeft). ООП и ФП: traits, case classes, tuples, pattern matching, Option/Either/Try. Сборка: sbt или maven (assembly / fat-jar). Apache Airflow: Разработка и документирование production DAG. Расписание (schedule_interval, cron), catchup, depends_on_past. Операторы: SparkSubmitOperator, PythonOperator, BashOperator. Variables, Connections, XCom, сенсоры, макросы, Trigger Rules. Python: Уверенное владение (PEP8, ООП, модули, virtualenv). Модульные тесты (pytest, unittest). Web-API: RESTful API, requests/aiohttp, JSON, обработка ошибок и таймаутов. SQL и хранилища: Продвинутый SQL: JOIN (inner, left, full, semi/anti), оконные функции (ROW_NUMBER, DENSE_RANK, LEAD, LAG), CTE, подзапросы. Проектирование таблиц, партиционирование, индексы, View / Materialized View. Понимание HDFS и Hive. Linux и CI/CD: Linux/Bash (навигация, поиск, логи). Мы предлагаем: Полностью удалённую работу. Гибкий график — вы самостоятельно управляете своим рабочим временем. Оформление по договору B2B (как ИП или самозанятый). Корпоративные курсы английского языка для профессионального роста. 3 оплачиваемых больничных дня в год. Культуру, основанную на доверии и самостоятельности, без микроменеджмента и излишней бюрократии. Git (ветки, merge requests), базовое понимание Docker.