Найти тему
Подвал Аналитика

ETL - процессы, что это такое простыми словами! Дневник аналитика

Оглавление

Для того чтоб разобраться, что же это чудо система давайте прибегнем к «легкой» теории:

ETL - от англ. Extract, Transform, Load — дословно «извлечение, преобразование, загрузка»

Предлагаю разобрать каждое компонент системы отдельно, чтобы иметь понимание, о чем мы тут разговариваем:

- Extract иными словами извлечение данных из внешних источников. Что мы делаем:

Подключаемся к источнику где хранятся наши данные, если источник — это база данных, то нам необходимо изучит что такое язык-запросов SQL и как он работает и с его помощью мы можем составить запрос для получения необходимых таблиц. А вот если источником наших данных являются внешние источники (к примеру, CRM, файлы из почты, и в принципе сторонние приложения) то нам необходимо пользоваться API* для получения данных из приложения.

* API – если простыми словами это язык, на котором общаются два приложения (подобно диалогу 2-х человек), если чуть посложнее - это кодовые интерфейсы, которые позволяют двум приложениям взаимодействовать друг с другом.

-2

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

- Transform – в переводе дословно преобразование, на этом этапе в зависимости от наших потребностей (потребностей бизнеса) данные которые мы поместили в предыдущем этапе в «промежуточную область» мы можем преобразовать следующими способами:

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

· Разделить либо объединить данные, чтобы облегчить с ними дальнейшую работу. Один из простых примеров, но часто встречающихся в работе – преобразовывать адрес и одного поля в три — улица, город, страна.

· Извлечение данных если нам нужно достать отдельную информацию из поля данных. Например, извлечь месяц заказа из поля формата «день-месяц‑год», чтобы в дальнейшем можно было сортировать таблицу, помесячно не опираясь на день.

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

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

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

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

Для распределения загружаемых данных на потоке используются средства данных. Они фиксируют состояние данных в некоторые моменты времени и определяют, какие данные были изменены или дополнены.

ETL следует рассматривать не только как процесс переноса данных из одного места в другое, но и как инструмент подготовки данных к анализу.

-3

Рассмотрим плюсы и минусы системы.

Плюсы:

1. Систематизация данных. Процессы системы позволяют структурировать данные и привести их в более удобный для анализа вид.

2. Снижение объема ручного труда – ручные процессы обработки, теперь можно автоматизировать, для снижения ошибок из-за «человеческого фактора».

3. Объединение данных - собираем данные из разных источников и объединяем их в одном хранилище.

Минусы:

1. ETL-процессы достаточно непросты по сути своей поэтому необходимы специалисты соответствующего уровня.

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

И в ИТОГЕ, что мы получаем,

ETL – это процесс, который извлекает данные из сторонних баз данных или ПО, преобразует их и загружает в хранилище данных.

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

В следующих статьях разберемся что такое SQL и API, подпишись чтобы не пропустить.

Всем добра!