top of page

ETL-процесс: описание требований

Фото автора: Ganna KaplunGanna Kaplun

Обновлено: 11 нояб. 2024 г.

Что такое ETL процесс?

ETL это аббревиатура: Extract, Transform, Load – Извлечение, Трансформация, Загрузка. Это процесс, используемый для перемещения данных из одного или нескольких источников в целевую систему, которая обычно является хранилищем данных или озером данных (Data Lake).

  1. Извлечение (Extract): На этом этапе данные собираются из разных источников. Это могут быть базы данных, CRM-системы, файлы Excel, а также обширные наборы неупорядоченных данных.

  2. Трансформация (Transform): Данные очищают, нормализуют и преобразуют для обеспечения консистентности. Например, имена могут быть приведены в один формат, а адреса могут быть стандартизированы.

  3. Загрузка (Load): Очищенные и трансформированные данные загружаются в целевую систему для дальнейшего анализа и отчетности.

ETL процесс

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

  • Стандартизация: Приведение всех данных к единому стандарту, например, сведение всех адресов электронной почты в нижний регистр.

  • Обогащение данных: добавление дополнительной информации, такой как географические координаты или демографические данные.


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


Целевые системы с точки зрения организации данных

  • Озеро данных (Data Lake) — это централизованное хранилище, которое хранит большие объемы данных в их оригинальном формате. Он может содержать все типы данных из любого источника, от структурированных (таблицы реляционных баз данных, Excel-файлы) до полуструктурированных (XML или JSON-файлы, веб-страницы) и неструктурированных (изображения, аудиофайлы, твиты), не теряя точности .

  • Хранилище данных (Data Warehouse) — это система, которая агрегирует данные из разных источников в единое, централизованное и последовательное хранилище данных для поддержки анализа данных, майнинга данных, искусственного интеллекта и машинного обучения.


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


Как писать требования к ETL процессу?

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

1. Определение источников данных: Перечислите все источники, из которых будут извлечены данные, и их форматы.

2. Бизнес-правила: Опишите правила и логику трансформации данных. Это может включать удаление дубликатов, объединение полей, преобразование форматов даты и времени и т.д.

3. Целевая система: Укажите, куда данные будут загружаться, и какие требования к этой системе, например частота обновления данных или уровень детализации.


Графика в требованиях

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


Примеры источников данных для ETL

Источники данных для ETL могут быть самыми разнообразными. К примеру:

  • Базы данных: SQL-серверы, Oracle, MySQL, MongoDB.

  • CRM системы: Salesforce, HubSpot.

  • Файлы CSV, Excel, XML.

  • Веб-сервисы: API, веб-скрапинг.


Примеры бизнес-правил для ETL

Бизнес-правила определяют, как данные должны быть трансформированы. Некоторые примеры:

  • Фильтрация: Удаление записей, не отвечающих определенным критериям.

  • Объединение: Слияние данных из разных источников.

  • Расчеты: Выполнение математических операций по созданию новых значений.

  • Форматирование: Приведение всех дат в единый формат.


Пример ETL процесса для розничной компании

Пример ниже, безусловно, неполный, однако дает общее понимание процесса и его описания.

Входные данные:

  • Источник: CRM-система.

  • Данные: Информация о покупателях, включая имя, фамилию, электронную почту, дату последней покупки, сумму израсходованных средств.


Требования к данным:

  • Имя и фамилия: Должны быть написаны заглавными буквами.

  • Электронная почта: Должна быть в нижнем регистре.

  • Дата последней покупки: Должна быть в формате DD-MM-YYYY.

  • Сумма израсходованных средств: Должна быть в формате числа с двумя знаками после запятой.

Трансформации в ETL процессе:

1. Стандартизация имен: Все имена и фамилии приводятся в формат с большой буквы.

Имя= UPPERCASE(имя)

Фамилия= UPPERCASE(фамилия)

2. Форматирование электронной почты: Все адреса электронной почты преобразуются в нижний регистр.

Электронная почта = LOWERCASE(электронная почта)

3. Преобразование даты: Даты преобразуются в заданный формат.

Дата последней покупки = FORMAT(дата, "DD-MM-YYYY")

4. Нормализация суммы: Суммы израсходованных средств форматируются с двумя знаками после запятой.

Сумма = FORMAT(сумма, "0.00")


Пример данных до преобразования:

{

   "customers":[

      {

         "firstName":"иван",

         "lastName":"петренко",

         "email":"Ivan.Petrenko@example.com",

         "lastPurchaseDate":"2024-06-17T19:20:30+01:00",

         "amountSpent":1234.5678

      },

      {

         "firstName":"мария",

         "lastName":"кравчук",

         "email":"Maria.Kravchuk@example.com",

         "lastPurchaseDate":"2024-05-16T14:35:10+01:00",

         "amountSpent":9876.5432

      }

   ]

}

Пример данных после преобразования в ETL:

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

{

   "customers":[

      {

         "firstName":"ИВАН",

         "lastName":"ПЕТРЕНКО",

         "email":"ivan.petrenko@example.com",

         "lastPurchaseDate":"17-06-2024",

         "amountSpent":"1234.57"

      },

      {

         "firstName":"МАРИЯ",

         "lastName":"КРАВЧУК",

         "email":"maria.kravchuk@example.com",

         "lastPurchaseDate":"16-05-2024",

         "amountSpent":"9876.54"

      }

   ]

}


Загрузка:

  • Цель: Озеро данных компании.

  • Ожидания: Данные должны быть обновлены ежедневно в 2:00 ночи.


Конечный результат ETL process:

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


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


Надеюсь, этот небольшой ввод в обработку данных будет для Вас полезен. Если вы хотите углубить свои технические знания, обратите внимание на тренинги Technical skillsfor Business Analyst та Advanced Technical skills for Business Analyst







1 420 просмотров0 комментариев

Недавние посты

Смотреть все

Comentários


bottom of page