Использовали ли вы ETL процессы для обработки больших данных
Что проверяют
Был ли у вас реальный опыт с конвейерами данных и понимаете ли вы, что на больших объёмах главная сложность не в трансформации, а в надёжности: повторных запусках, досчётах, качестве данных. Следом обычно спрашивают, что происходило, когда загрузка падала ночью, и как вы это замечали.
Как отвечать
Постройте рассказ вокруг одного конвейера, который знаете изнутри:
- масштаб: сколько данных в день и в каком виде, какие источники. Слова «большие данные» без цифр ничего не говорят;
- стек: оркестратор (Airflow, Dagster, Prefect), движок обработки (Spark, SQL в ClickHouse или Greenplum, dbt для трансформаций внутри хранилища), хранение (S3-совместимое, Hive, Iceberg), потоки через Kafka;
- ETL или ELT: в современных хранилищах чаще грузят сырые данные и трансформируют уже внутри. Объясните, что выбрали вы и почему;
- надёжность: идемпотентная загрузка через перезапись партиции по дате, инкремент по
updated_atили другой метке последней загрузки, бэкфиллы за прошлые периоды; - качество: проверки на пустые партиции, дубли, изменение схемы, тесты dbt или Great Expectations, алерты в чат;
- связь с ML: для этой специальности ключевой пункт. Как конвейер кормил модели: витрины признаков, корректность на момент времени, чтобы в обучение не попадали данные из будущего, воспроизводимость датасетов.
Результат описывайте своими цифрами: время прогона, задержка данных, число инцидентов. Если точной цифры нет, не выдумывайте проценты, скажите «примерно» и объясните, как мерили.
Если опыт был только на pandas и небольших объёмах, так и скажите, и покажите, что понимаете, где такой подход ломается и что вы бы взяли дальше.
Где спотыкаются
Называют большими данными то, что помещается в память одного ноутбука, и описывают обработку в pandas. Минус не в pandas, а в том, что кандидат не видит разницы.
Перечисляют инструменты, но не могут ответить, что будет при повторном запуске задачи за вчерашний день: задвоятся ли строки.
Не упоминают утечку данных из будущего при сборке обучающих выборок, хотя для ML-специалиста это самый важный риск любого конвейера.