Аналитикам часто приходится работать с данными из большого количества разных источников. Для того чтобы обрабатывать разнородную информацию, используют ETL-инструменты. Объясняем простым языком, что это такое, и приводим примеры из практики.
ETL — это процесс извлечения и передачи данных, в котором преобразуют информацию из других источников и загружают ее в одно место. Чаще всего данные организации находятся в разных системах, например:
- файлы на рабочих ПК,
- электронные документы,
- корпоративная почта,
- облачное хранилище,
- базы данных,
- внешние и внутренние API.
У всех этих источников способ получения доступа к информации разный: базы данных открываются напрямую, от файлов нужна ссылка, а к API потребуется токен авторизации. Обычно эти способы невозможно использовать одновременно, поэтому извлечь и сравнить информацию из разных мест очень сложно. Чтобы с подобными данными можно было работать, им нужно создать единую структуру, удалить лишнее и перенести в хранилище. Этот процесс возможен с помощью ETL.
В каких ситуациях используют ETL
ETL-процессы обычно применяют в работе аналитики и инженеры данных, когда возникает одна из следующих проблем:
- Количество данных настолько увеличилось, что аналитические запросы стали долго обрабатываться, а за хранение большого количества информации нужно платить.
- Данные находятся в разных местах, в связи с чем специалисты не могут их сравнить.
Давайте разберем эти проблемы подробнее на примерах
Количество данных сильно увеличилось
Представим, что организация хранит информацию в базе данных, в которой можно быстро записывать и читать только одну единицу — строчку.
Когда аналитику нужно узнать, сколько людей перешло на сайт организации за последние два дня, то ему необходимо пересмотреть все строки в базе за этот период. С ростом пользователей потребуется больше вычислительных мощностей, чтобы быстро перебрать множество строк. В этот момент возникнет проблема: запросы перестанут работать из-за ограничений базы данных.
Для решения этой ситуации чаще всего используют «колоночную» базу данных, с ее помощью можно расформировать информацию по определенным колонкам. Тогда для просмотра количества посещений сайта нужно всего лишь проанализировать одну колонку и не перебирать все строки. Как раз для перезагрузки данных из первой базы в «колоночную» потребуется ETL.
Данные из разных источников
Например, дизайнер Александр создал свою электронную почту в 2010 году: придумал ник, указал дату рождения и пол. Эти сведения находятся в одной базе.
В 2022 году Александр решил пройти онлайн-курсы на платформе «Россия — страна возможностей». Он смотрит курс «Анализ информации для принятия решений», а данные о его результатах попадают в новую базу.
Аналитику необходимо собрать сведения — люди какого возраста чаще смотрят этот онлайн-курс. Однако он не может этого сделать, так как данные о возрасте находятся в одной базе 2010 года, а информация об обучении — в другой. Чтобы подготовить отчет, специалист должен объединить данные из разных мест и загрузить их в аналитическое хранилище. Для этого ему понадобится ETL.
Если вам интересна Big Data и вы хотите принять участие в разработке технологий с искусственным интеллектом для известных организаций в стране, то рекомендуем подать заявку в проект «Цифровой прорыв. Сезон: искусственный интеллект».