top of page
Фото автораGanna Kaplun

ETL-процес: написання вимог

Оновлено: 11 лист.

Що таке 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.

  • Сума витрачених коштів: Повинна бути у форматі числа з двома знаками після коми.

Трансформації:

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 088 переглядів0 коментарів

Останні пости

Дивитися всі

Comments


bottom of page