Blog de Amazon Web Services (AWS)

Gestión de datos aumentada – Utilizando Glue Databrew para la limpieza automatizada de datos

Por: Janete Ribeiro Especialista en Analítica en Amazon Web Services (AWS) para América Latina y Branko Straub Arquitecto de Soluciones en Amazon Web Services (AWS) para Sector Público en Chile.

“Augmented Data Management” (ADM), ¿sería solo otra palabra de moda del momento, en el mundo de la tecnología? Lo que llamamos “Augmented Data Management” o “Gestión de datos aumentada” en español, es una poderosa herramienta caracterizada por la combinación de inteligencia artificial (IA) y gestión de datos. Según Gartner, “los algoritmos de aprendizaje automático y la automatización de procesos pueden reducir las tareas manuales de gestión de datos en un 45%”.

¿Cómo sería esta aplicación de algoritmos para optimizar la rutina de gestión de datos? Seguimos con algunos ejemplos prácticos que utilizan las herramientas de AWS.

AWS Glue DataBrew es una nueva herramienta de preparación visual de datos que facilita a los analistas de datos y científicos de datos limpiar y normalizar los datos con el fin de prepararlos para el análisis y machine learning. Puede elegir entre más de 250 transformaciones prediseñadas para automatizar las tareas de preparación de datos sin necesidad de escribir ningún tipo de código. Puede automatizar el filtrado de anomalías, la conversión de datos a formatos estándar, la corrección de valores no válidos y otras tareas.

Vamos a revisar como podemos utilizar AWS Glue DataBrew para la preparación y limpieza de datos.

Arquitectura de referencia de la solución:

En este paso, nos centraremos en utilizar AWS Glue Databrew para automatizar el proceso de validación de reglas de calidad de datos. En los próximos artículos hablaremos sobre la automatización de los procesos de ingeniería de datos a lo largo del ciclo de vida de los datos.

Para ejecutar esta prueba se requerirá:

  • Registrarse para obtener una cuenta de AWS según sea necesario y cree políticas de AWS Identity and Access Management (IAM) para permitir a los usuarios ejecutar DataBrew.
  • Debe ser administrador de IAM para crear usuarios, roles y políticas de IAM.
  • Regístrese para obtener una nueva cuenta de AWS y añada un usuario de IAM. Para obtener más información, consulte configuración de una nueva cuenta de AWS.
  • Añada una política de IAM a un usuario de consola. Un usuario con estos permisos puede obtener acceso a DataBrew en la consola de administración de AWS.
  • Crear un conjunto de datos de ejemplo.
  • Crear las reglas de validación de datos para esta muestra.

Iniciando el proceso: un ejemplo de cómo crear un conjunto de reglas con reglas de calidad de datos en Glue Databrew.

  1. Inicie sesión en la consola de administración de AWS y abra la consola de DataBrew en https://console.aws.amazon.com/databrew/
  2. Para comenzar a utilizar Glue DataBrew primero es necesario crear un nuevo dataset. El origen para estos puede ser un archivo, un bucket de Amazon Simple Storage Service (Amazon S3), una tabla del Catálogo de Glue, o también una fuente de datos de AWS Data Exchange, el cual provee acceso a una amplia variedad de fuentes de datos de AWS y terceros.
    a. En este escenario vamos a estar utilizando un dataset conformado por datos de eventos e interacciones provenientes del envío de correos utilizando Amazon SES, el cual incluye eventos como la apertura, rebotes, quejas, entrega y click de links en correos.
    b. Puedes seguir este instructivo a la par creando archivos JSON y subiendo los mismos a S3 utilizando los eventos de ejemplo provistos. Luego continuar registrando el datasource en Glue DataBrew con la ubicación del bucket de S3 o su tabla de Glue correspondiente.
    c. También puedes optar por seguir a la par y utilizar datasets gratuitos de ejemplo provistos por AWS Data Exchange. Por ejemplo, el dataset de Coronavirus (COVID-19) Data Hub o el de US H-1B Work Visa Applications (2017-2019), una vez subscripto a la fuentes de datos puede optar por replica los objetos de S3 hacia buckets almacenados en tu propia cuenta de AWS
  3. Cuando ya contemos con el dataset creado y registrado en Glue DataBrew, podemos continuar accediendo a las reglas de calidad de datos. Elegimos “DQ RULES” en el panel de navegación y, a continuación, elegimos: “Create data quality ruleset”

4. Escriba un nombre para el conjunto de reglas. Opcionalmente, escriba una descripción para el conjunto de reglas.

5. En conjunto de datos asociado, elija un conjunto de datos para asociarlo al conjunto de reglas.

6. Después de seleccionar un conjunto de datos, puede ver el panel de visualización del conjunto de datos a la derecha.

7. Utilice la visualización de vista previa del conjunto de datos para explorar los valores y el esquema del conjunto de datos a medida que determina las reglas de calidad de datos que se van a crear. La visualización puede proporcionar información sobre posibles problemas que pueda tener con los datos.

8. Puede obtener información sobre el esquema de datos y la distribución de valores mediante el “Dataset profile”.

9. Consulte la pestaña recomendaciones, que enumera algunas sugerencias de reglas que puede usar al crear su conjunto de reglas. Puede seleccionar todas, algunas o ninguna de las recomendaciones. En este escenario utilizando el dataset de ejemplo de envío de correos de Amazon SES, podemos observar que Glue DataBrew nos sugiere agregar dos reglas para revisar la existencia de filas duplicadas y verificar la falta de información en ciertas columnas.

10. Después de seleccionar las recomendaciones relevantes, elija “Add to ruleset”. Esto agregará reglas a su conjunto de reglas. Inspeccione y modifique los parámetros si es necesario. Tenga en cuenta que solo se pueden usar columnas de tipos simples, como cadenas, números y booleanos, en las reglas de calidad de datos.

11. Elija agregar otra regla para agregar una regla no cubierta por las recomendaciones. Puede cambiar los nombres de las reglas para facilitar la interpretación de los resultados de la validación más adelante. Podemos incluir una regla para detectar outliers y anomalías en las columnas de nuestro dataset comparando los valores de forma individual contra un porcentaje de sus filas.

12. Utilice el “data quality check” para elegir si las columnas individuales están seleccionadas para cada comprobación de esta regla o si deben aplicarse a un grupo de columnas que seleccione. Por ejemplo, si el conjunto de datos tiene varias columnas numéricas que deben tener valores entre 0 y 100, puede definir la regla y elegir todas las columnas que se van a comprobar con esta regla seleccionándolas por sus nombres o utilizando una expresión regular.

13. Si su regla tiene más de una comprobación, en el menú «rule success criteria», elija si todas las comprobaciones deben cumplirse o cuáles cumplen los criterios.

14. Ya podemos crear la regla de calidad de datos. Una vez creada, seremos redirigidos a un resumen de las reglas. Elegimos “Create profile job with ruleset” para comenzar a perfilar el Dataset con las nuevas reglas de calidad de datos. Podemos realizar el perfilamiento de datos contra todo el dataset o contra una porción de filas del mismo.

15. Podemos definir el bucket de S3 para la salida del trabajo de perfilamiento de datos. Puede ser un bucket en la propia cuenta de AWS o en otra cuenta que disponga de los permisos de AWS Identity and Access Management (IAM) y permisos de S3 Bucket correspondientes. De igual manera, podemos habilitar la encriptación de salida del trabajo.

16. En “Advanced job settings”, opcionalmente Podemos habilitar reintentos, definir la cantidad de nodos, especificar el tiempo máximo de ejecución para el trabajo de perfilamiento de datos. Por último, en “Associated schedules” podemos definir la frecuencia de ejecución para automatizar el perfilamiento de datos de manera horario, diría o personalizada.

17. Finalmente, necesitamos proporcionar un rol de IAM con los permisos para acceder al bucket de S3 y servicios relacionados de Glue. Si no cuentas con el rol de IAM, Glue DataBrew puede crearlo por ti. Por último, haz click en crear e iniciar el trabajo de perfilamiento.

18. Una vez realizado el proceso de escaneo podremos visualizar los resultados en Glue DataBrew y en nuestro Bucket de S3 elegido para el informe. Podemos observar que para este ejemplo se encontró que nuestro Dataset tiene un alto porcentaje de duplicados. Por ende, nuestra regla de calidad habrá fallado. Por último, se podría realizar un proceso de ETL con Glue para la limpieza y corrección de nuestros datos.

Conclusión

Como puede ver, las reglas de calidad pueden ir desde la simple “deduplicación” de registros, la cantidad de columnas proporcionadas para una base de datos, caracteres de campo, entre muchos otros. Puede definir las reglas más relevantes para su negocio a través de AWS Glue Databrew. Además de ser una herramienta “low-code”, facilita su uso a profesionales con poca experiencia en lenguajes de programación. De esta forma, es posible ganar en términos de calidad y productividad en el gobierno de datos. Pronto tendremos más consejos sobre cómo usar los servicios de AWS para optimizar la gestión de datos.

Fuentes:

Recursos relacionados:


Acerca de los autores:

Janete RibeiroJanete Ribeiro es Especialista en Analítica para América Latina en AWS, tiene una certificación en gobierno de datos por el MIT, es embajadora de WiDS (Women In Data Science), vinculada a la Universidad de Stanford, profesora graduada en Big Data & Analytics en SENAC(Universidad en Brasil), una profesional con 30 años de experiencia trabajando en grandes empresas de tecnología y el mercado financiero, experiencia internacional en varios países de América Latina, Estados Unidos, Canadá y España, autor de libros sobre Investigación de Mercados e Inteligencia de Mercados.

 

 

Branko StraubBranko Straub es Arquitecto de Soluciones en Amazon Web Services para Sector Público en Chile. Branko ha ayudado a múltiples instituciones de Sector Público y Privado en la adopción tecnológica de nube en los últimos 5 años, ha ejecutado de manera exitosa proyectos con impacto social en la ciudadanía alrededor de América Latina.