Компании каждый день собирают все больше и больше данных для управления такими процессами, как принятие решений, отчетность и машинное обучение (ML). Перед очисткой и преобразованием данных необходимо определить, пригодны ли они для использования. Неверные, отсутствующие или искаженные данные могут сильно повлиять на дальнейшую аналитику и процессы машинного обучения. Выполнение проверок качества данных помогает выявлять проблемы на ранних этапах рабочего процесса, чтобы вы могли быстрее их устранять. Кроме того, выполнение этих проверок с использованием архитектуры, основанной на событиях, помогает сократить число точек взаимодействия, выполняемых вручную, и масштабироваться с растущими объемами данных.
AWS Glue Data Brew — это визуальный инструмент подготовки данных, который упрощает поиск статистических данных о качестве данных, таких как повторяющиеся значения, отсутствующие значения и выбросы в ваших данных. Вы также можете настроить правила качества данных в DataBrew для выполнения условных проверок на основе ваших уникальных бизнес-потребностей. Например, производителю может потребоваться убедиться, что нет повторяющихся значений конкретно в 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, и конечный автомат завершаетсяfailed
статус. Если логический ответtrue
, конечный автомат заканчиваетсяsucceed
статус. Вы также можете расширить решение на этом шаге, чтобы запускать другие задачи в случае успеха или неудачи. Например, если все правила выполняются успешно, вы можете отправить сообщение EventBridge, чтобы инициировать другое задание преобразования в DataBrew.
В этом посте вы используете AWS CloudFormation для развертывания полностью функционирующей демонстрации решения для проверки качества данных на основе событий. Вы тестируете решение, загружая действительный файл значений, разделенных запятыми (CSV), в Amazon S3, а затем недопустимый файл CSV.
Эти шаги заключаются в следующем:
- Запустите стек CloudFormation, чтобы развернуть ресурсы решения.
- Протестируйте решение:
- Загрузите действительный CSV-файл в Amazon S3 и убедитесь, что проверка качества данных и конечный автомат Step Functions прошли успешно.
- Загрузите недействительный CSV-файл в Amazon S3 и наблюдайте за сбоем проверки качества данных и конечного автомата Step Functions, а также получите уведомление по электронной почте от Amazon SNS.
Весь пример кода можно найти в Репозиторий GitHub.
Предпосылки
Для этого прохождения у вас должны быть следующие предпосылки:
Разверните ресурсы решения с помощью AWS CloudFormation
Вы используете стек CloudFormation для развертывания ресурсов, необходимых для решения по проверке качества данных на основе событий. Стек включает пример набора данных и набора правил в DataBrew.
- Войдите в свою учетную запись AWS, а затем выберите Стек запуска:
- На Быстрое создание стека страница, для Адрес электронной почты, введите действительный адрес электронной почты для уведомлений по электронной почте Amazon SNS.
- Остальные параметры оставьте по умолчанию.
- Установите флажки подтверждения.
- Выберите Создать стек.
Для доступа к стеку CloudFormation требуется около 5 минут. CREATE_COMPLETE
Статус.
- Проверьте папку «Входящие» на указанный вами адрес электронной почты и примите подписку SNS.
Вам необходимо просмотреть и принять подтверждение подписки, чтобы продемонстрировать функцию уведомления по электронной почте в конце пошагового руководства.
На Выходы на вкладке стека вы можете найти URL-адреса для просмотра ресурсов DataBrew и Step Functions, созданных шаблоном. Также обратите внимание на завершенные команды AWS CLI, которые вы будете использовать на последующих этапах.
Если вы выбираете AWSGlueDataBrewRuleset
value, вы должны увидеть страницу сведений о наборе правил, как показано на следующем снимке экрана. В этом пошаговом руководстве мы создадим набор правил качества данных с тремя правилами, которые проверяют пропущенные значения, выбросы и длину строки.
Проверить решение
На следующих шагах вы используете интерфейс командной строки AWS для загрузки правильных и неправильных версий CSV-файла, чтобы протестировать решение для проверки качества данных на основе событий.
- Откройте терминал или командную строку и используйте интерфейс командной строки AWS для загрузки образцов данных. Используйте команду из вывода стека CloudFormation с именем ключа
CommandToDownloadTestData
: - Снова используйте интерфейс командной строки AWS, чтобы загрузить неизмененный файл CSV в корзину S3. Заменить строку с именем вашей корзины или скопируйте и вставьте команду, предоставленную вам из выходных данных шаблона CloudFormation:
- В консоли Step Functions найдите конечный автомат, созданный шаблоном CloudFormation.
Вы можете найти URL-адрес в выходных данных CloudFormation, упомянутых ранее.
- На Казни tab, вы должны увидеть новый запуск конечного автомата.
- Выберите URL-адрес запуска, чтобы просмотреть график конечного автомата и отслеживать его ход.
На следующем изображении показан рабочий процесс нашего конечного автомата.
Чтобы продемонстрировать сбой правила качества данных, вы вносите хотя бы одно изменение в votes.csv
.
- Откройте файл в предпочитаемом вами текстовом редакторе или инструменте для работы с электронными таблицами и удалите только одну ячейку.
На следующих скриншотах я использую редактор GNU nano в Linux. Вы также можете использовать редактор электронных таблиц для удаления ячейки. Это приводит к сбою правила «Проверить все столбцы на наличие отсутствующих значений».
На следующем снимке экрана показан файл CSV до модификации.
На следующем снимке экрана показан измененный файл CSV.
- Сохраните отредактированный
votes.csv
файл и вернитесь в командную строку или терминал. - Используйте интерфейс командной строки AWS, чтобы еще раз загрузить файл в корзину 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. Он создает прототипы и решения с использованием искусственного интеллекта, машинного обучения, Интернета вещей и граничных вычислений, потоковой аналитики, робототехники и пространственных вычислений для решения реальных проблем клиентов. В свободное время Лейт любит заниматься спортом на свежем воздухе, например фотографировать, летать на дронах, ходить в походы и играть в пейнтбол.
Гордон Берджесс является старшим менеджером по продуктам в AWS Glue DataBrew. Он увлечен тем, что помогает клиентам извлекать ценную информацию из своих данных, и фокусируется на создании пользовательского опыта и богатой функциональности аналитических продуктов. Вне работы Гордон любит читать, пить кофе и собирать компьютеры.
- '
- &
- 100
- 107
- 7
- О нас
- Учетная запись
- активно
- адрес
- AI
- Все
- Amazon
- аналитика
- Применение
- архитектура
- Автоматизированный
- AWS
- строить
- Строительство
- бизнес
- расходы
- Проверки
- Уборка
- код
- Кофе
- Column
- комплекс
- компьютеры
- вычисление
- Консоли
- Клиенты
- данным
- Качество данных
- день
- обнаружить
- трутень
- Edge
- краевые вычисления
- редактор
- окончания поездки
- Проект и
- Окружающая среда
- События
- пример
- Впечатления
- Ошибка
- быстрее
- Особенность
- соответствовать
- Авиабилеты
- найденный
- Бесплатно
- функция
- Функции
- будущее
- Рост
- Управляемость
- здравоохранение
- помогает
- пеший туризм
- Как
- How To
- HTTPS
- определения
- изображение
- осуществлять
- размышления
- исследовать
- КАТО
- вопросы
- IT
- работа
- Основные
- большой
- последний
- УЧИТЬСЯ
- узнали
- изучение
- линия
- LINK
- Linux
- расположение
- обучение с помощью машины
- ПРОИЗВОДИТЕЛЬ
- ML
- БОЛЕЕ
- карликовый
- необходимый
- уведомление
- Опции
- заказ
- Другие контрактные услуги
- На открытом воздухе
- фотография
- Основной
- Продукт
- Продукция
- Профиль
- макетирования
- Недвижимости
- Reading
- уменьшить
- замещать
- Требования
- Полезные ресурсы
- ответ
- Итоги
- Возвращает
- обзоре
- робототехника
- условиями,
- Run
- Шкала
- Serverless
- Услуги
- набор
- аналогичный
- просто
- So
- Решения
- РЕШАТЬ
- пространственный
- пространственные вычисления
- конкретно
- Таблица
- Область
- статистика
- Статус:
- диск
- потоковый
- подписка
- успех
- Технический
- Терминал
- тестXNUMX
- Источник
- Через
- время
- инструментом
- трансформация
- превращение
- учебник
- ценностное
- Вид
- Работа
- рабочий