Раздел 26 · Data Engineering

ETL против ELT

junior~15 мин

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

В прошлом уроке пайплайн «Гонца» забирал, чистил и загружал заказы. Стажёр решил сэкономить и пропустил чистку: просто скопировал таблицу orders из приложения в хранилище. Утром Отто увидел, что 1 июня курьеры доставляли заказы в среднем за минус 268 минут, то есть за четыре с половиной часа до того, как клиент их оформил. Чистить данные надо. Вопрос только, когда.

Переезд

Ты переезжаешь. Можно разобрать вещи заранее: старую одежду выкинуть, книги разложить по коробкам с подписями, посуду завернуть. В новую квартиру приезжает только нужное и уже по местам.

А можно сгрузить всё в коробки как есть и разбирать на новом месте. Переезд быстрее, а разбирать удобнее: в новой квартире больше места, и если через месяц понадобится выброшенная, как тебе казалось, вещь, она всё ещё лежит в коробке на антресоли.

Первый способ это ETL, второй ELT.

Три буквы в разном порядке

Обе аббревиатуры состоят из одних и тех же шагов:

  • E, extract: забрать данные из источника;
  • T, transform: почистить, привести к одному виду, посчитать нужное;
  • L, load: положить в хранилище.

Разница в том, где стоит T.

ETL: забрали, преобразовали по дороге, загрузили готовое. Преобразование делает отдельная программа на отдельном сервере, а в хранилище попадает только чистый результат.

ELT: забрали, загрузили как есть, преобразовали уже внутри хранилища SQL-запросами. Сырая копия остаётся рядом с чистой.

урок из курса

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

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