Las empresas recopilan cada vez más datos todos los días para impulsar procesos como la toma de decisiones, la elaboración de informes y el aprendizaje automático (ML). Antes de limpiar y transformar sus datos, debe determinar si son aptos para su uso. Los datos incorrectos, faltantes o con formato incorrecto pueden tener un gran impacto en los procesos de análisis y aprendizaje automático posteriores. Realizar comprobaciones de calidad de los datos ayuda a identificar problemas antes en su flujo de trabajo para que pueda resolverlos más rápido. Además, realizar estas comprobaciones con una arquitectura basada en eventos lo ayuda a reducir los puntos de contacto manuales y escalar con cantidades crecientes de datos.
Elaboración de datos de AWS Glue es una herramienta visual de preparación de datos que facilita la búsqueda de estadísticas de calidad de datos, como valores duplicados, valores faltantes y valores atípicos en sus datos. También puede configurar reglas de calidad de datos en DataBrew para realizar verificaciones condicionales basadas en sus necesidades comerciales únicas. Por ejemplo, un fabricante podría necesitar asegurarse de que no haya valores duplicados específicamente en un Part ID
columna, o un proveedor de atención médica puede verificar que los valores en un SSN
columna tienen una cierta longitud. Después de crear y validar estas reglas con DataBrew, puede usar Puente de eventos de Amazon, Funciones de paso de AWS, AWS Lambday Servicio de notificación simple de Amazon (Amazon SNS) para crear un flujo de trabajo automatizado y enviar una notificación cuando una regla falla en la verificación de validación.
En esta publicación, lo guiaremos a través del flujo de trabajo de extremo a extremo y cómo implementar esta solución. Esta publicación incluye un tutorial paso a paso, un Modelo de aplicación sin servidor de AWS (AWS SAM) y código de ejemplo que puede utilizar para implementar la aplicación en su propio entorno de AWS.
Resumen de la solución
La solución en esta publicación combina sin servidor Servicios de AWS para crear una canalización basada en eventos de extremo a extremo completamente automatizada para la validación de la calidad de los datos. El siguiente diagrama ilustra la arquitectura de nuestra solución.
El flujo de trabajo de la solución contiene los siguientes pasos:
- Cuando carga nuevos datos en su Servicio de almacenamiento simple de Amazon (Amazon S3), los eventos se envían a EventBridge.
- Una regla de EventBridge desencadena la ejecución de una máquina de estado de Step Functions.
- La máquina de estado inicia un trabajo de perfil de DataBrew, configurado con un conjunto de reglas y reglas de calidad de datos. Si está considerando crear una solución similar, la ubicación de salida del trabajo del perfil de DataBrew y los depósitos S3 de datos de origen deben ser únicos. Esto evita ejecuciones recursivas de trabajos. Desplegamos nuestros recursos con un Formación en la nube de AWS plantilla, que crea depósitos S3 únicos.
- Una función de Lambda lee los resultados de calidad de los datos de Amazon S3 y devuelve una respuesta booleana a la máquina de estado. La función devuelve
false
si una o más reglas en el conjunto de reglas fallan y devuelvetrue
si todas las reglas tienen éxito. - Si la respuesta booleana es
false
, la máquina de estado envía una notificación por correo electrónico con Amazon SNS y la máquina de estado termina en unfailed
estado. Si la respuesta booleana estrue
, la máquina de estados termina en unsucceed
estado. También puede ampliar la solución en este paso para ejecutar otras tareas en caso de éxito o fracaso. Por ejemplo, si todas las reglas tienen éxito, puede enviar un mensaje de EventBridge para activar otro trabajo de transformación en DataBrew.
En esta publicación, utiliza AWS CloudFormation para implementar una demostración completamente funcional de la solución de validación de calidad de datos basada en eventos. La solución se prueba cargando un archivo de valores separados por comas (CSV) válido en Amazon S3, seguido de un archivo CSV no válido.
Los pasos son los siguientes:
- Inicie una pila de CloudFormation para implementar los recursos de la solución.
- Pruebe la solución:
- Cargue un archivo CSV válido en Amazon S3 y observe cómo la validación de la calidad de los datos y la máquina de estado de Step Functions se realizan correctamente.
- Cargue un archivo CSV no válido en Amazon S3 y observe que fallan la validación de la calidad de los datos y la máquina de estado de Step Functions, y reciba una notificación por correo electrónico de Amazon SNS.
Todo el código de muestra se puede encontrar en el Repositorio GitHub.
Requisitos previos
Para este tutorial, debe tener los siguientes requisitos previos:
Implemente los recursos de la solución mediante AWS CloudFormation
Utiliza una pila de CloudFormation para implementar los recursos necesarios para la solución de validación de calidad de datos basada en eventos. La pila incluye un conjunto de datos y un conjunto de reglas de ejemplo en DataBrew.
- Inicie sesión en su cuenta de AWS y luego elija Pila de lanzamiento:
- En Pila de creación rápida página, para Dirección de correo electrónico, ingrese una dirección de correo electrónico válida para las notificaciones por correo electrónico de Amazon SNS.
- Deje las opciones restantes establecidas en los valores predeterminados.
- Seleccione las casillas de verificación de confirmación.
- Elige Crea una pila.
La pila de CloudFormation tarda unos 5 minutos en llegar CREATE_COMPLETE
de estado.
- Verifique la bandeja de entrada de la dirección de correo electrónico que proporcionó y acepte la suscripción a SNS.
Debe revisar y aceptar la confirmación de la suscripción para demostrar la función de notificación por correo electrónico al final del tutorial.
En Salidas pestaña de la pila, puede encontrar las URL para explorar los recursos de DataBrew y Step Functions que creó la plantilla. Tenga en cuenta también los comandos de la CLI de AWS completados que utilizará en pasos posteriores.
Si elige la AWSGlueDataBrewRuleset
enlace de valor, debería ver la página de detalles del conjunto de reglas, como en la siguiente captura de pantalla. En este tutorial, creamos un conjunto de reglas de calidad de datos con tres reglas que verifican los valores faltantes, los valores atípicos y la longitud de la cadena.
Prueba la solución
En los siguientes pasos, utilizará la CLI de AWS para cargar versiones correctas e incorrectas del archivo CSV para probar la solución de validación de calidad de datos basada en eventos.
- Abra un indicador de línea de comando o terminal y use la CLI de AWS para descargar datos de muestra. Use el comando de la salida de la pila de CloudFormation con el nombre de la clave
CommandToDownloadTestData
: - Utilice la CLI de AWS nuevamente para cargar el archivo CSV sin cambios en su depósito S3. Reemplace la cadena con el nombre de su depósito, o copie y pegue el comando que se le proporcionó desde la salida de la plantilla de CloudFormation:
- En la consola de Step Functions, busque la máquina de estado creada por la plantilla de CloudFormation.
Puede encontrar una URL en los resultados de CloudFormation mencionados anteriormente.
- En Ejecuciones pestaña, debería ver una nueva ejecución de la máquina de estado.
- Elija la URL de la ejecución para ver el gráfico de la máquina de estado y monitorear su progreso.
La siguiente imagen muestra el flujo de trabajo de nuestra máquina de estado.
Para demostrar la falla de una regla de calidad de datos, realice al menos una edición en el votes.csv
archivo.
- Abra el archivo en su editor de texto preferido o herramienta de hoja de cálculo y elimine solo una celda.
En las siguientes capturas de pantalla, uso el editor GNU nano en Linux. También puede usar un editor de hojas de cálculo para eliminar una celda. Esto hace que la regla "Comprobar valores faltantes en todas las columnas" falle.
La siguiente captura de pantalla muestra el archivo CSV antes de la modificación.
La siguiente captura de pantalla muestra el archivo CSV modificado.
- Guardar lo editado
votes.csv
archivo y regrese a su símbolo del sistema o terminal. - Utilice la CLI de AWS para cargar el archivo en su depósito S3 una vez más. Usas el mismo comando que antes:
- En la consola de Step Functions, navegue hasta la última ejecución de la máquina de estado para monitorearla.
La validación de la calidad de los datos falla, lo que activa una notificación por correo electrónico de SNS y la falla de la ejecución de la máquina de estado general.
La siguiente imagen muestra el flujo de trabajo de la máquina de estado fallida.
La siguiente captura de pantalla muestra un ejemplo del correo electrónico SNS.
- Puede investigar la falla de la regla en la consola de DataBrew eligiendo el
AWSGlueDataBrewProfileResults
valor en las salidas de la pila de CloudFormation.
Limpiar
Para evitar incurrir en cargos futuros, elimine los recursos. En la consola de AWS CloudFormation, elimine la pila denominada AWSBigDataBlogDataBrewDQSample
.
Conclusión
En esta publicación, aprendió a crear canalizaciones de validación de calidad de datos automatizadas y basadas en eventos. Con DataBrew, puede definir reglas, umbrales y conjuntos de reglas de calidad de datos para sus requisitos comerciales y técnicos. Step Functions, EventBridge y Amazon SNS le permiten crear canalizaciones complejas con gestión de errores personalizable y alertas adaptadas a sus necesidades.
Puede obtener más información sobre esta solución y el código fuente visitando el Repositorio GitHub. Para obtener más información sobre las reglas de calidad de datos de DataBrew, visite AWS Glue DataBrew ahora permite a los clientes crear reglas de calidad de datos para definir y validar sus requisitos comerciales o referirse a Validación de la calidad de los datos en AWS Glue DataBrew.
Acerca de los autores
Laith Al Saadoon es Arquitecto Principal de Prototipos en el equipo de Ingeniería de Envision. Construye prototipos y soluciones utilizando IA, aprendizaje automático, IoT y computación perimetral, análisis de transmisión, robótica y computación espacial para resolver problemas de clientes del mundo real. En su tiempo libre, Laith disfruta de actividades al aire libre como la fotografía, los vuelos con drones, el senderismo y el paintball.
gordon burgess es gerente sénior de productos en AWS Glue DataBrew. Le apasiona ayudar a los clientes a descubrir información a partir de sus datos y se enfoca en crear experiencias de usuario y funcionalidades ricas para productos analíticos. Fuera del trabajo, a Gordon le gusta leer, tomar café y armar computadoras.
- '
- &
- 100
- 107
- 7
- Sobre
- Mi Cuenta
- actividades
- dirección
- AI
- Todos
- Amazon
- Analytics
- Aplicación
- arquitectura
- Confirmación de Viaje
- AWS
- build
- Construir la
- cargos
- Cheques
- Limpieza
- código
- CAFÉ
- Columna
- integraciones
- computadoras
- informática
- Consola
- Clientes
- datos
- calidad de los datos
- día
- descrubrir
- zángano
- Southern Implants
- informática de punta
- editor
- termina
- Ingeniería
- Entorno
- Eventos
- ejemplo
- Experiencias
- Fracaso
- más rápida
- Feature
- cómodo
- Vuelos
- encontrado
- Gratuito
- función
- funciones
- futuras
- Creciendo
- Manejo
- la salud
- ayuda
- excursionismo
- Cómo
- Como Hacer
- HTTPS
- Identifique
- imagen
- implementar
- Insights
- investigar
- IOT
- cuestiones
- IT
- Trabajos
- Clave
- large
- más reciente
- APRENDE:
- aprendido
- aprendizaje
- línea
- LINK
- Linux
- Ubicación
- máquina de aprendizaje
- Fabricante
- ML
- más,
- nano
- .
- Opciones
- solicite
- Otro
- Exterior
- fotografía
- Director de la escuela
- Producto
- Productos
- Mi Perfil
- prototipado
- proveedor
- calidad
- Reading
- reducir
- reemplazar
- Requisitos
- Recursos
- respuesta
- Resultados
- devoluciones
- una estrategia SEO para aparecer en las búsquedas de Google.
- robótica
- reglas
- Ejecutar
- Escala
- Sin servidor
- Servicios
- set
- similares
- sencillos
- So
- Soluciones
- RESOLVER
- Espacial
- computación espacial
- específicamente
- Hoja de cálculo
- Estado
- statistics
- Estado
- STORAGE
- en streaming
- suscripción
- comercial
- Técnico
- terminal
- test
- La Fuente
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- del IRS
- transformadora
- tutoriales
- propuesta de
- Ver
- Actividades:
- flujo de trabajo