ETL: кто на самом деле строит поток данных
| Профессия | Вилка (p25 – p75) | Медиана | К медиане рынка | Открытых вакансий |
|---|---|---|---|---|
| Data Scientist | 240 000 ₽ – 240 000 ₽ | 240 000 ₽ | +100% | 241 |
| Data-инженер | 137 025 ₽ – 160 000 ₽ | 137 025 ₽ | +14% | 686 |
| Аналитик данных | 100 000 ₽ – 140 000 ₽ | 125 000 ₽ | +4% | 10 402 |
| Медиана всего рынка | — | 120 000 ₽ | 0% | — |
Аббревиатура ETL расшифровывается как Extract, Transform, Load — извлечение, преобразование, загрузка. На собеседованиях её упоминают и аналитики, и инженеры данных, но за одним и тем же набором букв часто скрываются разные задачи. Один понимает, откуда данные берутся, второй отвечает за то, чтобы они приезжали каждый день вовремя и без потерь. Разница в объёме работы прямая: аналитику достаточно разобраться со структурой источника, инженер строит конвейер, который не должен ломаться.
Что такое ETL простыми словами
ETL — это процесс переноса данных из одной системы в другую. Например, из CRM-системы или базы данных интернет-магазина в хранилище, где потом строят отчёты. Извлечение — чтение исходных таблиц или логов, преобразование — очистка, пересчёт, приведение к единому формату, загрузка — запись в целевую базу или витрину. Главное отличие ETL от просто копирования: данные меняют структуру по пути, а не перекладываются один в один.
На практике ETL может выполняться раз в сутки, раз в час или непрерывно. Всё зависит от того, насколько свежие отчёты нужны бизнесу. Если достаточно утренних сводок, достаточно ночной загрузки. Если требуется видеть продажи за последние минуты, пайплайн настраивают на потоковую обработку.
Аналитик: понимать источник
Для аналитика ETL — это прежде всего знание того, какие данные приходят и как они связаны. На собеседовании могут спросить, как вы проверите, что загрузка прошла без ошибок, или в каком поле лежит идентификатор клиента. Требуется понимать, какие трансформации применяются: фильтрация, агрегация, джойны. Аналитик редко сам пишет код конвейера, но обязан разбираться в схеме данных, чтобы не построить отчёт на некорректных цифрах.
Главная ошибка на этом уровне — считать, что данные всегда приходят чистыми. Опытный кандидат сразу уточнит, кто отвечает за проверку качества на входе и есть ли логи ошибок. Если в вакансии написно «ETL для аналитика», значит, от вас ждут умения построить запрос в источнике и проверить итоговую таблцу.
Инженер: отвечать за поток
Инженер данных пишет и поддерживает код, который вытаскивает данные, трансформирует и кладёт в хранилище. Здесь ETL — основная работа. Нужно уметь настраивать расписания, обрабатывать сбои, перезапускать упавшие задачи, следить за производительностью. В вакансиях часто требуют опыт работы с Apache Airflow, NiFi или облачными сервисами вроде AWS Glue, Google Dataflow.
Ключевой навык — умение проектировать так, чтобы сбой в одном источнике не остановил весь пайплайн. Инженер должен заранее предусмотреть, что делать, если API источника не отвечает час, или файл пришёл с битыми строками. Без этого данные перестанут обновлятся, и бизнес увидит устаревшую картинку.
Где чаще всего ломаются данные
Самое уязвимое место — источники, которые меняют схему без предупрежднения. Например, в CRM добавили новое поле или переименовали столбец, а ETL процесс об этом не знает. В результате загрузка падает с ошибкой или записывает данные в неправильные колонки. Вторая распространённая проблема — нехватка памяти или места на диске при больших объёмах. Если пайплайн не оптимизирован, он может работать часы и блокировать другие процессы.
Третий типичный сценарий — изменение API внешнего сервиса: изменилась структура ответа, упала авторизация, закончился лимит запросов. Инженеру приходится мониторить логи и оперативно править код. Аналитику достаточно знать, что проблема могла возникнуть, и уметь вовремя обратить на неё внимание команды.
Расписания и что делать с падениями
Любой ETL процесс живёт по расписанию: ежечасно, раз в сутки, по триггеру. В вакансиях могут спросить, как вы настроите повторный запуск в случае сбоя и как избежать дублирования данных. Стандартный приём — использовать флаги обработки или инкрементальную загрузку по идентификатору и дате. Если задача упала, обычно её перезапускают с последнего успешного шага, а не с самого начала.
Для аналитика важно знать, что делать, когда отчёт расходится с реальностью. Часто причина не в ошибке в SQL, а в том, что ETL не догрузил часть данных из-за падения на источнике. Восстановление расписания и проверка логов — рутина, с которой сталкиваются все, кто работает с данными дольше месяца.
Инструменты, которые называют в вакансиях
Наиболее частые упоминания в требованиях к ETL — Apache Airflow для оркестрации, Apache Spark для обработки больших объёмов, инструменты SQL (PostgreSQL, ClickHouse, BigQuery) как целевые хранилища. Для аналитиков достаточно SQL и понимания, как работают хранимые процедуры или представления. Инженеры обязаны знать Python или Scala для написания трансформаций и хотя бы один облачный сервис интеграции данных.
Также встречаются специализированные утилиты вроде Talend, Informatica, SSIS — их чаще используют в крупных компаниях с унаследованными системами. В стартапах больше распространены opensource решения: Airbyte, dbt (для трансформации уже в хранилище), Apache NiFi. В вакансии стоит обращать внимание не на список инструментов, а на описание того, что именно нужно делать: писать пайплайны с нуля или поддерживать существующие.
С чего начать освоение
Первый шаг для аналитика — научиться писать простые SQL запросы с JOIN, агрегациями и подзапросами, а затем разобраться, как данные попадают в таблицы. Попросить у коллег показать логи загрузки или покопаться в документации по источнику. Для инженеров начальный этап — освоить Python и библиотеку pandas или PySpark, а также попробовать настройть простой конвейер в Airflow на локальной машине.
Полезно взять реальный датасет (например, открытые данные по продажам или погоде) и написать скрипт, который ежедневно выгружает, чистит и складывает в базу. В процессе вы наткнётесь на всё, о чём говорят на собеседованиях: дубли, пропуски, изменение схем, ошибки соединения. Разобрав эти сценарии, вы получите практический опыт, который можно обсуждать на интервью без отсылок к курсам.
Частые вопросы
В вакансии аналитика данных требуют знание ETL — это то же самое, что у инженера?
Я Data Scientist, мне нужно уметь писать ETL-процессы?
Сначала попробуйте бесплатно — без регистрации
Проверьте своё резюме нейросетью или соберите ATS-версию под автофильтры работодателей. Ничего заполнять не нужно — вставьте текст и получите разбор.
Ищите работу быстрее — на автопилоте
JobGateway откликается на подходящие вакансии hh.ru за вас, пишет сопроводительные нейросетью и поднимает резюме. Старт бесплатно.
Начать бесплатно