NewTechAudit
328

Все еще живете без ETL?

Все ещё ломаете голову пытаясь свести информацию из множества источников в один файл? Используйте ETL! Кейс с применением метода далее

В закладки

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

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

Он включает:

  • Extract - получение информации из внешних источников (таблицы или файлы, в которых данные разделены специальными символами-разделителями).
  • Transform – трансформация данных. Тут выполняются основные манипуляции с данными, проводятся всевозможные преобразования исходных таблиц. С помощью различных инструментов выполняются операции агрегирования, удаления данных, добавления новых значений, фильтрация данных, сортировка и тд. На данном шаге формируются вспомогательные таблицы, создаваемые на время.
  • Load – загрузка. Данные из промежуточных таблиц помещаются в хранилище данных или записываются в базу данных.

Pentaho – свободное программное обеспечение для бизнес-анализа. Один из модулей для интеграции исходных систем и хранилища – Pentaho Data Integration. Позволяет получать и объединять различные данные из любых источников, очищать исходные данные, удалять избыточную информацию. Удобный интерфейс для работы с данными, включает широкий спектр инструментов для их преобразования. Нет необходимости писать программный код, интуитивно понятные команды и графическая визуализация процесса преобразования упрощает работу с данными.

Оператор – это логическая единица, которая может производить какое-то действие над данными. Оператор имеет вход и выход. На входе поступают сырые данные, на выходе получаются обработанные данные. В Pentaho Data Integration реализован удобный поиск нужного оператора, весь список доступных для использования представлен в левом меню рабочего окна. Реализована технология Drag-and-Drop, доступно для выбора множество компонентов. Комбинируя их между собой можно строить и получать нужные трансформации исходных таблиц.

Кейс: необходимо получить выборку тех подразделений, в которых как минимум 2 сотрудника совершили 5 и более операций. В результирующей таблице должны быть следующие поля: ФИО, должность, табельный номер, наименование подразделения, время начала работы с клиентом, время печати документа. Исходные данные содержатся в трех разных таблицах.

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

Далее делаем фильтр записей для выбора отвечающих условию задачи. И выберем уникальные значения по полю подразделение. Получили список подразделений, в которых больше 5 операций как минимум у 2 сотрудников.

​Рисунок 1 – Операция фильтрации

Затем нужно сопоставить полученные номера подразделений с исходной таблицей данных. Сделаем это оператором Merge join по полю наименование подразделения.

​Рисунок 2 – Операция сопоставления

А затем фильтром уберём несовпавшие строки. В итоге останутся нужные записи таблицы.

​Рисунок 3 – Операция фильтрации

Останется только подтянуть недостающие данные из других исходных таблиц. Оператором Stream lookup последовательно добавим нужные поля, сопоставляя значения по полю ФИО и время открытия клиентской сессии.

Рисунок 4 – Операция сопоставления

Получена итоговая схема процесса трансформации.

​Рисунок 5 – Схема трансформации

Результирующая таблица.

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

{ "author_name": "NewTechAudit", "author_type": "editor", "tags": [], "comments": 0, "likes": 1, "favorites": 0, "is_advertisement": false, "subsite_label": "newtechaudit", "id": 108080, "is_wide": false, "is_ugc": false, "date": "Thu, 20 Feb 2020 10:18:15 +0300", "is_special": false }
0
Комментариев нет
Популярные
По порядку

Прямой эфир