Түйіндемені қарау
Senior Fullstack әзірлеушісі
Келісім бойынша
РесейСанкт-Петербург
ТолықҚашықтан жұмыс
Жұмыс тәжірибесі
3 жыл 3 ай
Соңғы жұмыс орны
БФТ-Холдинг
Data Engineer
2 жыл
Өзің туралы
Өзің туралы
Data Engineer, 5+ лет в банке и госсекторе. Пишу на Python и SQL, строю надёжные конвейеры данных и сервисы вокруг них: Airflow, Kafka, PySpark, Greenplum, ClickHouse, dbt, Docker, GitLab CI/CD, интеграции через REST и gRPC
Результаты: ускорил тяжёлые ELT-цепочки с 5000 до 2700 секунд, освободил 45% слотов оркестратора, ускорил витрину в ClickHouse с 26 секунд до единиц, сделал универсальный SQL-исполнитель на проде, после которого разовые выгрузки перестали требовать отдельных дагов
Хочу в продуктовую разработку на стыке бэкенда и интерфейсов. Знаком с доменом арбитража трафика: партнёрки, офферы, трекеры, постбэки, метрики ROI, CPL, CR, поэтому быстро вхожу в контекст. Рассматриваю проектную работу (ГПХ/ИП) и частичную занятость, удалённо.
Affiliate тәжірибесі
Nutra
Meta (Facebook)
Tier-3
Жұмыс тәжірибесі3 жыл 3 ай
Қараша 2024 - қазіргі уақытқа дейін
(2 жыл)
БФТ-Холдинг
Data Engineer
В команде центрального корпоративного хранилища данных развиваю DWH цифровой платформы ЕЦП через Kafka в него стекаются события десятков внутренних сервисов и государственных интеграций, проходят ELT - конвейер по слоям SRC - STG - CORE - DM и попадают в BI и регламентированную отчётность Зона ответственности - надёжность и ресурсная эффективность конвейера на пяти контурах
Обязанности
- Отвечаю за ELT-контур хранилища в Airflow 2.3.3 37 регулярных дагов, пакетная, дельтовая и потоковая загрузка, готовность витрин к утренней отчётности
- Подключение новых источников под ключ от согласования контракта данных с владельцем системы до витрины в DM, JDBC (Greenplum, PostgreSQL, Oracle, HBase через Phoenix), Kafka, S3, gRPC
- Проектирование модели хранилища слои SRC, STG, CORE, DM, историчность по SCD2, согласование ключей и гранулярности с аналитиками
- Производительность Greenplum разбор планов через EXPLAIN ANALYZE, выбор ключей дистрибуции и партиционирования, устранение Redistribute и Broadcast Motion на тяжёлых соединениях
- Трансформации на PySpark в YARN-кластере управление сессиями через Livy REST API, подбор ресурсов executor контроль shuffle и перекоса партиций
- Разбор инцидентов на проде восстановление данных после сбоев загрузок, перезапуск цепочек с контролем идемпотентности
Достижения
- Устранил перекос данных в тяжёлых ELT - цепочках Greenplum 6.21 согласовал ключи
дистрибуции, убрал Redistribute Motion, добавил партиционирование и разбиение на подзадачи - расчёт с 5000 до 2700 секунд
- Переработал статистический даг, занимавший 140 из 300 слотов кластера: массовый
параллелизм заменил последовательным циклом с изоляцией ошибок по каждому дагу. Освободил 45% слотов оркестратора под приоритетные пайплайны
- Предложил и внедрил универсальный SQL-исполнитель на прод-конфиге разовые выгрузки перестали требовать отдельного дага под каждую задачу
- Локализовал первопричину отказов Kerberos/SPNEGO на новом контуре Hadoop, где Livy, HDFS и YARN отвечали 401 без диагностики собрал доказательную базу диагностическим скриптом и согласовал устранение с администраторами платформы
Стек Airflow 2.3.3, PySpark 3.3.0, Livy, dbt, Greenplum 6.21 (Arenadata DB), ClickHouse 22.3 (Arenadata QuickMarts), Postgres Pro, Oracle, HBase / Phoenix, Kafka, S3, gRPC, Python, SQL, GitLab CI/CD, Docker
Тамыз 2023 - Қараша 2024
(1 жыл 4 ай)
Финансовая корпорация Открытие
Data Engineer
Работал в хранилище розничного блока банка витрины по картам, кредитам а также работе с задолженностью для отчётности и внутренних дашбордов Данные собирались из внутренних систем банка и внешних источников, приводились к единым ключам клиента и договора и складывались в ядро с полной историчностью
Обязанности:
- Даги загрузки кредитного блока просрочка, платёжная дисциплина
- Историчность ядра по SCD2 интервалы version_from/version_to, закрытие предыдущей версии
записи при изменении, логическое удаление флагом
- Забор сырых выгрузок из озера Hive поверх HDFS как слой метаданных, дальше в Greenplum
через внешние таблицы отдельными потоками Kafka и S3
- Предобработка на PySpark дедупликация выгрузок, приведение типов и форматов, склейка
суточных партиций в единый срез
- Сведение внутренних контуров банка с внешними источниками при сборке витрин, разбор
расхождений там, где ключи не сходились
- Разбор тяжёлых запросов в Greenplum планы, ключи дистрибуции, перекос после
подключения новых источников
- Доступы к источникам через HashiCorp Vault - Bank-Vaults и Vault Secrets Operator в Kubernetes
Достижения
- Ускорил витрину операций по картам в ClickHouse профиль клиента открывался 26 секунд и регулярно ловил too many parts перевёл партиционирование с суточного на месячное, пересобрал ключ сортировки под клиента и карту, добавил преагрегат для дашборда - профиль стал открываться за единицы секунд
- Ввёл хеш натурального ключа и строки целиком в SCD2-загрузке, отделив фактические изменения от повторной заливки того же среза - версии записей перестали плодиться на перезаливках источника
Дағдылар
dwh
SQL
PostgreSQL
Git
Python
CI/CD
Docker
Apache Spark
Pandas
REST-API
PyTorch
Kafka
Тілдерді білу
Орташа Ағылшын
Жұмыспен қамту
Жұмыспен қамту
Толық, Жартылай, Жобалық
Жұмыс форматы
Қашықтан жұмыс
Жұмыс кестесі
Икемді, 5/2
Көшу
Мүмкін
Іссапарлар
Іссапарлар мүмкін