Подготовка и трансформация данных в BI системах

Статья находится в процессе дополнения.

Содержание:

ETL (Extract Transform Load)

Для того, чтобы корректно внедрить BI систему у себя в компании и, в итоге, построить дашборды, которые будут помогать принимать управленческие решения на основе данных, необходимо изучить такой термин как ETL (Extract, Transform, Load).

Термин ETL довольно часто можно часто встретить как на просторах Интернета, так и  в разговорах, когда речь идёт о работе с данными.

Давайте разберёмся, что это такое.

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

  • Extract(E) — выгрузка,
  • Transform(T) — трансформация и
  • Load(L) — загрузка данных.

Результат процесса – данные представлены в нужном формате и находятся в нужном месте. Почему термин стал настолько популярен?

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

Рассмотрим наиболее близкий нашей компании кейс, в котором происходит процесс ETL.

В основном, системы, в которых накапливаются данные (CRM, ERP системы), не позволяют проводить их глубокий анализ. Они предназначены именно для оперативного использования (добавить, удалить, редактировать запись), т.е. для проведения транзакций. Данный класс систем называется OLTP (англ. Online Transaction Processing).

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

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

В некоторых случаях порядок этапов меняется и говорят о ELT: в таком случае трансформация данных происходит уже в месте, куда они были загружены.

И у того, и у другого подхода есть свои плюсы:

  • у ETL это отсутствие необходимости хранить необработанные данные в системе;  
  • у ELT — сохранность всех данных.

Недостатки подходов обусловлены их преимуществами: у ETL это риск потери данных на этапе преобразований (T); у ELT сохранение необработанных, «грязных», данных в конечной системе.

В некоторых случаях данные менять не нужно и остаётся только EL: то есть выгрузка и загрузка данных.

Разберём  каждый этап подробнее.

Остановимся сегодня подробнее на Этапе № 2 из списка выше, включающем процесс подготовки и трансформации данных и предшествующем загрузке данных в BI систему.

Этап № 2 (Transform)

Сам данный Этап изменения (Transform) условно можно разделить на три Подэтапа:

  • Очистка данных (data cleaning/data cleansing)
  • Оптимизация данных (data optimization)
  • Наполнение данных (data enrichment)

Здесь мы умышленно вводим термин Подэтап для того, чтобы показать последовательность действий, которые нужно предпринять на определенном Этапе из списка «Extract, Transform, Load» и не путать читателя.

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

Цели и содержание Подэтапов.

Важно отличать цели этих Подэтапов. Очистка делается с целью повысить качество данных, чтобы ими, в принципе, можно было пользоваться при построении дашборда (или ML модели).

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

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

Содержание Подэтапов представлено в таблице: 

Таблица Подэтапов
Рис. 1. Подэтапы Этапа Transform

Инструменты для трансформации и очистки данных: платные и открытые (Open source).

К платным инструментам, можно отнести:

  • Loginom;
  • Линейка решений от компании Microsoft: Excel, Power query (язык M), Power Pivot (язык DAX) и Power BI (сочетающий в себе функциональность Power query и Power Pivot );

Это, однозначно, небольшой список имеющихся на рынке ИТ инструментов, но мы упомянули те, с которыми работаем сами.

Среди бесплатных инструментов можно выделить:

  • Библиотеки Python: Pandas, Numpy;
  • Основанные на  Python-среде инструменты:

       — Google Colaboratory;

       — Yandex DataSphere;

       — Vixtract (библиотека PETL), являющейся разработкой компании Visiology;

  • Yandex Datalens BI

BI системы со встроенными инструментами для преобразования данных.

Некоторые BI системы позволяют проводить преобразования с  данными уже после их загрузки. В таком случае вместо ETL (Extract, Transform, Load) говорят о ELT (Extract, Load, Transform), то есть этап преобразования происходит уже после загрузки данных в систему бизнес аналитики.

Среди BI систем, с которыми мы непосредственно работаем сами, содержащих встроенный инструмент для преобразования данных можно выделить:

  • Power BI;
  • Yandex DataLens;
  • Visiology 3.0;

Насколько интересной была статья?

Кликните на звезду, чтобы оценить статью

Средний рейтинг: 4.8 / 5. Оценок: 6

Оценок еще нет. Оцените, чтобы быть первым

Эксперт Павел Лебедев

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

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

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