Компанії щодня збирають все більше даних, щоб керувати такими процесами, як прийняття рішень, звітування та машинне навчання (ML). Перш ніж очищати та перетворювати дані, вам потрібно визначити, чи придатні вони для використання. Неправильні, відсутні або неправильно сформовані дані можуть сильно вплинути на подальшу аналітику та процеси ML. Виконання перевірок якості даних допомагає виявляти проблеми на ранніх етапах робочого процесу, щоб ви могли швидше їх вирішити. Крім того, виконання цих перевірок за допомогою архітектури, заснованої на подіях, допомагає зменшити кількість точок дотику вручну та збільшити обсяги даних.
AWS Клей DataBrew це візуальний інструмент підготовки даних, який полегшує пошук статистичних даних про якість даних, таких як повторювані значення, відсутні значення та викиди у ваших даних. Ви також можете налаштувати правила якості даних у DataBrew для виконання умовних перевірок на основі ваших унікальних бізнес-потреб. Наприклад, виробнику може знадобитися переконатися, що в a Part ID
або постачальник медичних послуг може перевірити ці значення в SSN
колонки мають певну довжину. Після створення та перевірки цих правил за допомогою DataBrew можна використовувати Amazon EventBridge, Функції кроку AWS, AWS Lambda та Служба простих сповіщень Amazon (Amazon SNS), щоб створити автоматизований робочий процес і надіслати сповіщення, коли правило не проходить перевірку.
У цій публікації ми розповімо вам про наскрізний робочий процес і про те, як реалізувати це рішення. Ця публікація містить покроковий посібник, ан Модель безсерверного додатка AWS (AWS SAM) шаблон і приклад коду, який можна використовувати для розгортання програми у вашому власному середовищі AWS.
Огляд рішення
Рішення в цій публікації поєднує без сервера Сервіси AWS для створення повністю автоматизованого наскрізного конвеєра, керованого подіями, для перевірки якості даних. Наступна діаграма ілюструє архітектуру нашого рішення.
Робочий процес рішення містить такі кроки:
- Коли ви завантажуєте нові дані на свій Служба простого зберігання Amazon (Amazon S3), події надсилаються на EventBridge.
- Правило EventBridge запускає автомат стану Step Functions.
- Кінцевий автомат запускає завдання профілю DataBrew, налаштоване за допомогою набору правил якості даних і правил. Якщо ви плануєте створити подібне рішення, розташування виведення завдання профілю DataBrew і сегменти вихідних даних S3 мають бути унікальними. Це запобігає рекурсивному запуску завдань. Ми розгортаємо наші ресурси за допомогою AWS CloudFormation шаблон, який створює унікальні відра S3.
- Функція Lambda зчитує результати якості даних з Amazon S3 і повертає логічну відповідь у кінцевий автомат. Функція повертається
false
якщо одне або більше правил у наборі правил не вдається, і повертаєтьсяtrue
якщо всі правила успішні. - Якщо логічна відповідь є
false
, кінцевий автомат надсилає сповіщення електронною поштою за допомогою Amazon SNS, і кінцевий автомат закінчується на afailed
статус. Якщо логічна відповідь єtrue
, кінцева машина завершується на asucceed
статус. Ви також можете розширити рішення на цьому кроці, щоб запускати інші завдання в разі успіху чи невдачі. Наприклад, якщо всі правила виконуються успішно, ви можете надіслати повідомлення EventBridge, щоб запустити інше завдання перетворення в DataBrew.
У цій публікації ви використовуєте AWS CloudFormation для розгортання повнофункціональної демонстрації рішення перевірки якості даних на основі подій. Ви перевіряєте рішення, завантажуючи дійсний файл зі значеннями, розділеними комами (CSV) на Amazon S3, а потім недійсний файл CSV.
Ці кроки є наступними:
- Запустіть стек CloudFormation, щоб розгорнути ресурси рішення.
- Перевірте рішення:
- Завантажте дійсний файл CSV на Amazon S3 і спостерігайте за успішною перевіркою якості даних і автоматом стану Step Functions.
- Завантажте недійсний файл CSV в Amazon S3 і спостерігайте за помилкою перевірки якості даних і стану машини крокових функцій, а також отримайте сповіщення електронною поштою від Amazon SNS.
Весь зразок коду можна знайти в GitHub сховище.
Передумови
Для цього покрокового керівництва ви повинні мати такі передумови:
Розгорніть ресурси рішення за допомогою AWS CloudFormation
Ви використовуєте стек CloudFormation для розгортання ресурсів, необхідних для рішення перевірки якості даних на основі подій. Стек містить приклад набору даних і набору правил у DataBrew.
- Увійдіть у свій обліковий запис AWS і виберіть Запустити стек:
- на Швидке створення стека сторінка, для Адреса електронної пошти, введіть дійсну електронну адресу для сповіщень електронною поштою Amazon SNS.
- Залиште решту параметрів за замовчуванням.
- Установіть прапорці для підтвердження.
- Вибирати Створіть стек.
Щоб дістатися до стека CloudFormation, потрібно близько 5 хвилин CREATE_COMPLETE
Статус.
- Перевірте папку «Вхідні» за вказаною адресою електронної пошти та прийміть підписку на SNS.
Вам потрібно переглянути та прийняти підтвердження підписки, щоб продемонструвати функцію сповіщень електронною поштою в кінці покрокового керівництва.
на Виходи стеку, ви можете знайти URL-адреси для перегляду ресурсів DataBrew і Step Functions, створених шаблоном. Також зверніть увагу на виконані команди AWS CLI, які ви використовуєте на наступних кроках.
Якщо ви вибираєте AWSGlueDataBrewRuleset
значення, ви повинні побачити сторінку з деталями набору правил, як на знімку екрана нижче. У цьому покроковому керівництві ми створюємо набір правил якості даних із трьома правилами, які перевіряють відсутні значення, викиди та довжину рядка.
Перевірте розчин
У наступних кроках ви використовуєте AWS CLI для завантаження правильних і неправильних версій файлу CSV для перевірки рішення перевірки якості даних, керованого подіями.
- Відкрийте вікно терміналу або командного рядка та використовуйте AWS CLI, щоб завантажити зразки даних. Використовуйте команду з виводу стеку CloudFormation із назвою ключа
CommandToDownloadTestData
: - Знову скористайтеся AWS CLI, щоб завантажити незмінений файл CSV у сегмент S3. Замініть рядок з іменем вашого сегмента або скопіюйте та вставте команду, надану вам із вихідних даних шаблону CloudFormation:
- На консолі Step Functions знайдіть кінцевий автомат, створений шаблоном CloudFormation.
Ви можете знайти URL-адресу в результатах CloudFormation, зазначених раніше.
- на Виконання ви повинні побачити новий запуск кінцевого автомата.
- Виберіть URL-адресу циклу, щоб переглянути графік кінцевого автомата та відстежувати його прогрес.
На наступному зображенні показано робочий процес нашого кінцевого автомата.
Щоб продемонструвати помилку правила якості даних, ви вносите принаймні одну зміну в votes.csv
файлу.
- Відкрийте файл у текстовому редакторі чи інструменті для роботи з електронними таблицями та видаліть лише одну клітинку.
На наступних знімках екрана я використовую редактор GNU nano в Linux. Ви також можете використовувати редактор електронних таблиць, щоб видалити клітинку. Це спричиняє помилку правила «Перевірити всі стовпці на відсутні значення».
На наступному знімку екрана показано файл CSV до внесення змін.
На наступному знімку екрана показано змінений файл CSV.
- Збережіть відредаговані
votes.csv
файл і поверніться до командного рядка або терміналу. - Використовуйте AWS CLI, щоб ще раз завантажити файл у сегмент S3. Ви використовуєте ту саму команду, що й раніше:
- На консолі Step Functions перейдіть до останнього запуску кінцевого автомата, щоб відстежувати його.
Перевірка якості даних не виконується, що викликає сповіщення електронною поштою SNS і збій загального запуску кінцевого автомата.
На наступному зображенні показано робочий процес несправного кінцевого автомата.
На наступному знімку екрана показано приклад електронної пошти SNS.
- Ви можете перевірити помилку правила на консолі DataBrew, вибравши
AWSGlueDataBrewProfileResults
значення в результатах стеку CloudFormation.
Прибирати
Щоб уникнути майбутніх витрат, видаліть ресурси. На консолі AWS CloudFormation видаліть стек під назвою AWSBigDataBlogDataBrewDQSample
.
Висновок
У цій публікації ви дізналися, як створювати автоматизовані канали перевірки якості даних, керовані подіями. За допомогою DataBrew ви можете визначити правила якості даних, порогові значення та набори правил для вашого бізнесу та технічних вимог. Функції Step Functions, EventBridge і Amazon SNS дозволяють створювати складні конвеєри з настроюваною обробкою помилок і сповіщеннями відповідно до ваших потреб.
Ви можете дізнатися більше про це рішення та вихідний код, відвідавши сторінку GitHub сховище. Щоб дізнатися більше про правила якості даних DataBrew, відвідайте AWS Glue DataBrew тепер дозволяє клієнтам створювати правила якості даних для визначення та перевірки своїх бізнес-вимог або посилайтеся на Перевірка якості даних в AWS Glue DataBrew.
Про авторів
Лейт Аль-Саадун є головним архітектором прототипування в команді Envision Engineering. Він створює прототипи та рішення, використовуючи штучний інтелект, машинне навчання, IoT і периферійні обчислення, потокову аналітику, робототехніку та просторові обчислення для вирішення реальних проблем клієнтів. У вільний час Лейт любить активний відпочинок на свіжому повітрі, наприклад фотографію, польоти безпілотників, піші прогулянки та гру в пейнтбол.
Гордон Берджесс є старшим менеджером із продуктів AWS Glue DataBrew. Він захоплений тим, щоб допомогти клієнтам отримати інформацію з їхніх даних, і зосереджується на створенні взаємодії з користувачами та багатій функціональності аналітичних продуктів. Поза роботою Гордон захоплюється читанням, кавою та збиранням комп’ютерів.
- '
- &
- 100
- 107
- 7
- МЕНЮ
- рахунки
- діяльності
- адреса
- AI
- ВСІ
- Amazon
- аналітика
- додаток
- архітектура
- Автоматизований
- AWS
- будувати
- Створюємо
- бізнес
- вантажі
- Перевірки
- Очищення
- код
- кави
- Колонка
- комплекс
- комп'ютери
- обчислення
- Консоль
- Клієнти
- дані
- якість даних
- день
- відкрити
- трутень
- край
- краю обчислень
- редактор
- закінчується
- Машинобудування
- Навколишнє середовище
- Події
- приклад
- Досліди
- Провал
- швидше
- особливість
- відповідати
- Авіаквитки
- знайдений
- Безкоштовна
- функція
- Функції
- майбутнє
- Зростання
- Обробка
- охорона здоров'я
- допомагає
- піший туризм
- Як
- How To
- HTTPS
- ідентифікувати
- зображення
- здійснювати
- розуміння
- дослідити
- КАТО
- питання
- IT
- робота
- ключ
- великий
- останній
- УЧИТЬСЯ
- вчений
- вивчення
- Лінія
- LINK
- Linux
- розташування
- навчання за допомогою машини
- виробник
- ML
- більше
- нано
- необхідний
- сповіщення
- Опції
- порядок
- Інше
- Outdoor
- малюнок
- Головний
- Product
- Продукти
- профіль
- макетування
- Постачальник
- якість
- читання
- зменшити
- замінювати
- Вимога
- ресурси
- відповідь
- результати
- Умови повернення
- огляд
- робототехніка
- Правила
- прогін
- шкала
- Без сервера
- Послуги
- комплект
- аналогічний
- простий
- So
- Рішення
- ВИРІШИТИ
- просторовий
- просторові обчислення
- конкретно
- Електронна таблиця
- стан
- статистика
- Статус
- зберігання
- потоковий
- передплата
- успіх
- технічний
- термінал
- тест
- Джерело
- через
- час
- інструмент
- Перетворення
- перетворення
- підручник
- значення
- вид
- Work
- робочий