Что такое ETL и с какими задачами поможет

Недостаточно просто хранить данные — их нужно перемещать и обрабатывать. ETL является связкой между дата‑сервисами, которая позволяет реализовывать сквозные аналитические сценарии. Давайте пройдёмся по этапам подробнее.

ETL (Extract, Transform, Load) — это трёхэтапный процесс управления данными, в дословном переводе значит «извлечение, преобразование, загрузка». Сначала извлекается информация из структурированных и неструктурированных источников, затем преобразовывается в нужный формат и загружается в место назначения.

ETL простыми словами

Чтобы лучше понять принцип работы ETL, представьте продавца в торговом центре перед новогодними праздниками. Его задача — взять товар, завернуть в красивую обёртку и передать покупателю. Если проводить аналогию с ETL, то процесс выглядит так: продавец извлекает товар, допустим, парфюм, из первоначального источника — с полки в магазине. Затем преображает парфюм, обернув его бумагой. После — «загружает» упакованный подарок в пакет, который покупатель забирает с собой.

Точно так же инструменты ETL берут информацию из разных систем (извлекают), объединяют её с другими источниками (преобразовывают) и сохраняют (загружают) для дальнейшего анализа. Например, система может консолидировать данные о клиентах фитнес‑клуба. Если в отделе продаж менеджеры вносят данные через одну CRM‑систему, а при онлайн‑покупке клиенты регистрируются через другую, то ETL может собирать данные из обоих сервисов и преобразовывать их в единую таблицу.

Этапы работы ETL

Извлечение (Extract)

Первым делом система забирает данные из целевых источников, например, API‑интерфейсов, датчиков, баз данных, серверных журналов JSON, маркетинговых инструментов и так далее. При этом неважно, насколько информация структурирована — инструменты ETL собирают всё.

Какие могут быть источники:

  • существующие базы данных и устаревшие системы;
  • облачные, гибридные и локальные среды;
  • приложения для продаж и маркетинга;
  • мобильные устройства и приложения;
  • CRM‑системы;
  • платформы хранения данных;
  • хранилища данных;
  • инструменты аналитики.

Данные проходят через синтаксический анализ, разделение и фильтрацию. В преобразованном виде они отправляются на обработку дальше. В современных системах они чаще всего сохраняются в форматах: JSON, Parquet или CSV, а это позволяет обработать их повторно при необходимости.

Преобразование (Transform)

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

  • Очистка данных. Задача этого преобразования — создать более полезный набор данных, готовых к использованию в целевой базе данных. Например: удаление дубликатов, замена или удаление нулевых значений, поиск и исправление ошибок.

  • Разделение. Помогает разделить данные, чтобы облегчить с ними дальнейшую работу. Например: преобразовывает адрес клиента на три поля — улица, номер дома, квартира.

  • Извлечение. Позволяет достать отдельную информацию из поля данных. Например: месяц заказа из формата «месяц‑день‑год».

  • Объединение. Можно сразу же объединять релевантные данные из разных источников в один. Например, собрать в один файл всю информацию о клиентах из офисов продаж из разных регионов.

Загрузка (Load)

На финальном этапе преобразованная информация из промежуточной области отправляется в целевую базу данных, озеро данных или хранилище данных. При этом её можно загружать всю сразу (полная загрузка) или с запланированными интервалами (добавочная или инкрементальная загрузка).

В чём разница?

  • Полная загрузка — всё, что поступает из источников, ETL отправляет в хранилище. Чаще всего этот подход используют для исследований, так как для бизнеса это не всегда рациональный подход. Полная загрузка может длиться долгое время и нуждаться в больших вычислительных ресурсах, что увеличивает затраты и затрудняет обслуживание.

  • Добавочная загрузка — более управляемый подход. В этом случае ETL‑инструмент сравнивает входные данные с уже имеющимися и создаёт новые записи только в том случае, если в источниках данных будет новая информация.

С какими задачами поможет ETL

ETL упрощает процесс работы с информацией за счёт того, что объединяет её из разных источников и решает задачу переноса необработанных и распределённых данных в единый репозиторий. Эти функции ETL полезны во многих процессах.

  1. Миграция и репликация данных. Ускорение — одна из главных задач при организации этих двух процессов. Чем быстрее компания перенесет старую информацию в новые системы, тем раньше она сможет ими пользоваться. Иногда это могут быть несовместимые форматы или файлы, а ETL решает эту проблему за счёт преобразования данных.

  2. Сбор и обработка данных. Как правило, у бизнеса много источников получения информации. Например, данные о продажах и результатах маркетинговых кампаний могут поступать от двух разных сервисов. А проанализировать их в совокупности можно только после их объединения. ETL позволяет сразу перенести данные в нужном формате и делает их подходящими для дальнейшего использования. Тем самым он увеличивает ценность этой информации.

    Данные загружены, теперь их нужно обработать и проанализировать.

  3. Машинное обучение (ML). В озеро данных, как правило, собирается информация из множества источников. Но не вся из неё полезна для дальнейшего обучения алгоритмов. С помощью ETL можно вычленять только нужные данные, преобразовывать в подходящий формат и затем уже загружать в озеро или хранилище.

  4. Аналитическое хранилище (DWH). При проектировании хранилища обычно уделяют большое внимание разработке ETL‑процессов, так как источников информации может быть невероятное множество. Среди задач ETL в этом процессе — фильтрация, очистка, объединение, разъединение, сортировка данных.

  5. Конвейеры данных (Data Pipelines). Задача ETL‑конвейера — подготовить данные для последующей аналитики. С его помощью можно стандартизировать данные, собранные из разных источников, освободить разработчиков от рутинных технических задач и проводить более глубокую аналитику за счёт более качественной предварительной обработки.

Начните использовать облако без простоя сервиса. Сервис для переноса данных Yandex Data Transfer поможет настроить регулярную поставку данных в аналитическое хранилище. Данные передаются не только в режиме снапшота, но и в режиме репликации, который поддерживает копию данных в приёмнике в актуальном состоянии.

Какие преимущества ETL предоставляет бизнесу

ETL работает так, что любые структурированные и неструктурированные данные форматируются таким образом, что их потом можно анализировать с помощью BI‑инструментов. Из этого вытекают следующие преимущества.

Легко обрабатывает сложные данные

С каждым годом появляется всё больше сложных и разнообразных данных. Если нужно управлять многими атрибутами, собирать информацию из нескольких источников, то ETL упростит задачи по очистке от лишних данных.

Снижает вероятность ошибки

Никто не застрахован от оплошностей из‑за человеческого фактора, а в случае с работой с данными даже небольшая ошибка может потянуть за собой другие проблемы. ETL автоматически собирает, проверяет и обрабатывает данные по разработанным правилам, а значит, вероятность ошибки намного меньше.

Ускоряют процесс бизнес‑аналитики

Инструменты ETL автоматически собирают данные. За счёт этого аналитики не тратят время на ручной сбор и быстрее получают нужные результаты.

ETL в Yandex Cloud

В Yandex Cloud представлены инструменты для полного цикла обработки данных любого типа. Так, перенести данные из источника в облако поможет Yandex Data Transfer. Если данные поставляются в произвольной форме, а не из базы данных, то можно воспользоваться брокерами сообщений: Yandex Managed Service for Apache Kafka® и Yandex Data Streams. Подготовить данные к отправке в аналитическое хранилище поможет оркестратор кластеров Apache Spark и Apache Hadoop® — Yandex Data Proc.

Для хранения и обработки данных используйте управляемые сервисы баз данных Yandex Managed Service for PostgreSQL или Yandex Managed Service for ClickHouse. Многие компании выбирают Yandex Managed Service for Greenplum® в качестве ядра корпоративного хранилища данных. Когда собраны данные и настроены аналитические витрины, всё готово для визуализации и построения дашбордов в Yandex DataLens.

Мы подготовили гайд «Как делать аналитические проекты в облаке», где подробно рассказали про эти и другие инструменты для работы с данными.

Прочитайте гайд, чтобы узнать, как по шагам организовать аналитику в облаке.

Напишите нам

Начать пользоваться Yandex Cloud

Тарифы

Узнать цены и рассчитать стоимость

Мероприятия

Календарь событий Yandex Cloud
Что такое ETL и с какими задачами поможет
Войдите, чтобы сохранить пост