Раздел 26 · Data Engineering

Кто такой data engineer и зачем он нужен

junior~10 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

В курсе аналитика мы помогали Отто, операционному директору доставки «Гонец», разобраться, почему опаздывают курьеры. У нас была готовая таблица orders за четыре месяца, и мы просто писали к ней запросы. Но кто-то эту таблицу собрал. Каждую ночь кто-то забирает из приложения вчерашние заказы, чинит в них время, выкидывает мусор и кладёт результат туда, где его найдёт аналитик. Этот блок про этого человека. Им будешь ты.

Водопровод

Открываешь кран, и течёт вода. Чистая, под нужным давлением, каждый день. Ты не думаешь, откуда она взялась.

А за краном целое хозяйство. Насосная станция забирает воду из реки. Фильтры убирают песок. Трубы разводят её по районам. Диспетчер следит, чтобы давление не упало ночью, и чинит трубу, если она лопнула. Если водоканал сработал хорошо, жители о нём не вспоминают.

Данные устроены так же. Аналитик открывает кран: пишет запрос к таблице и получает ответ. А трубы, фильтры и насосы строит и чинит дата-инженер.

Что он делает

Работа дата-инженера это пайплайны: цепочки шагов, которые везут данные из одного места в другое и по дороге приводят их в порядок. У «Гонца» такой пайплайн каждую ночь делает четыре вещи:

  1. Забирает вчерашние заказы из рабочей базы приложения.
  2. Чистит: переводит время в один часовой пояс, выкидывает битые записи, где у доставленного заказа нет времени доставки.
  3. Загружает результат в хранилище данных, отдельную базу для аналитики.
  4. Проверяет, что всё доехало: строк столько же, сколько было заказов, и ни одна сумма не потерялась.

Утром Отто открывает дашборд, и вчерашний день уже на месте. Если ночью что-то сломалось, дата-инженер узнаёт об этом раньше Отто, а не от него.

Почему нельзя просто дать аналитику доступ к рабочей базе приложения? Причин три. Тяжёлый аналитический запрос притормозит приложение, и курьеры получат заказы с задержкой. Данные в рабочей базе сырые, и каждый аналитик чинил бы часовые пояса по-своему. И рабочая база помнит только текущее состояние: заказ сменил статус, старый статус стёрт, а для отчёта нужна история.

урок из курса

Урок из курса «Data Engineering». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.