Introducción a AWS Glue Data Quality para el Data Catalog - AWS Glue

Introducción a AWS Glue Data Quality para el Data Catalog

En esta sección de introducción se incluyen instrucciones para ayudarlo a empezar a utilizar AWS Glue Data Quality en la consola de AWS Glue. Aprenderá a completar tareas esenciales, como generar recomendaciones de reglas de la calidad de los datos y evaluar un conjunto de reglas en función de sus datos.

Requisitos previos

Antes de usar AWS Glue Data Quality, debe estar familiarizado con el uso del Data Catalog y de los rastreadores en AWS Glue. Con AWS Glue Data Quality, puede evaluar la calidad de las tablas de una base de datos de un Data Catalog. También necesitará lo siguiente:

  • Una tabla en el Data Catalog para evaluar su conjunto de reglas de la calidad de los datos.

  • Un rol de IAM para AWS Glue que se proporciona al generar recomendaciones de reglas o ejecutar una tarea de calidad de datos. Este rol debe tener permiso para acceder a los recursos que requieren diversos procesos de AWS Glue Data Quality para ejecutarse en su nombre. Entre estos recursos, se incluyen AWS Glue, Amazon S3 y CloudWatch. Para ver ejemplos de políticas que incluyen los permisos mínimos para AWS Glue Data Quality, consulte Ejemplos de políticas de IAM.

    Para obtener más información sobre los roles de IAM para AWS Glue, consulte Creación de una política de IAM para el servicio de AWS Glue y Creación de un rol de IAM para el servicio AWS Glue. También puede ver una lista de todos los permisos de AWS Glue específicos para la calidad de los datos en Autorización para acciones de AWS Glue Data Quality.

  • Una base de datos con al menos una tabla que contiene una variedad de datos. La tabla utilizada en este tutorial lleva el nombre yyz-tickets, junto con la tabla tickets. Estos datos son una recopilación de información de disponibilidad pública de la ciudad de Toronto sobre multas de estacionamiento. Si crea su propia tabla, asegúrese de rellenarla con una variedad de datos válidos para obtener el mejor conjunto de reglas recomendadas.

Ejemplo paso a paso

Para ver un ejemplo paso a paso con conjuntos de datos de muestra, consulte la entrada del blog de Calidad de datos de AWS Glue.

Generar recomendaciones de reglas

Las recomendaciones de reglas facilitan la introducción a la calidad de los datos sin necesidad de escribir código. Con Calidad de datos de AWS Glue, puede analizar sus datos, identificar reglas y crear un conjunto de reglas que puede evaluar en una tarea de calidad de datos. Las ejecuciones de recomendaciones se eliminan automáticamente después de 90 días.

Para generar recomendaciones sobre reglas de calidad de datos
  1. Abra la consola de AWS Glue en https://console.aws.amazon.com/glue/.

  2. Elija Tables (Tablas) en el panel de navegación. A continuación, elija la tabla para generar recomendaciones de reglas de la calidad de los datos.

  3. En la página de detalles de la tabla, seleccione la pestaña Calidad de los datos para acceder a las reglas y configuraciones de la Calidad de datos de AWS Glue para la tabla.

  4. En la pestaña Calidad de los datos, seleccione Agregar reglas y supervisar la calidad de los datos.

  5. En la página Generador de conjuntos de reglas, una alerta en la parte superior de la página pedirá que inicie una tarea de recomendación si no se ejecuta ninguna recomendación de reglas.

  6. Seleccione Recomendar reglas para abrir el modal e ingrese sus parámetros para la tarea de recomendación.

  7. Elija un rol de IAM con acceso a AWS Glue. Este rol debe tener permiso para acceder a los recursos que requieren diversos procesos de Calidad de datos de AWS Glue para ejecutarse en su nombre.

  8. Una vez completados los campos según sus preferencias, seleccione Recomendar reglas para iniciar la ejecución de la tarea de recomendación. Si las ejecuciones recomendadas están en curso o ya se completaron, puede gestionar las ejecuciones en esta alerta. Puede que tenga que actualizar la alerta para ver el cambio de estado. Las tareas de recomendación completadas y en curso aparecen en la página Historial de ejecuciones, que muestra todas las ejecuciones de recomendaciones de los últimos 90 días.

Qué significan las reglas recomendadas

Calidad de datos de AWS Glue genera reglas basadas en los datos de cada columna de la tabla de entrada. Utiliza las reglas para identificar los posibles límites por los que se pueden filtrar los datos para mantener los requisitos de calidad. La siguiente lista de reglas generadas incluye ejemplos que son útiles para entender qué significan las reglas y qué podrían hacer cuando se apliquen a los datos.

Para obtener una lista completa de los tipos de reglas del lenguaje de definición de calidad de datos (DQDL) generados, consulte la referencia de tipos de reglas del DQDL.

  • IsComplete "SET_FINE_AMOUNT" -La regla IsComplete verifica que la columna esté rellenada en cualquier fila determinada. Use esta regla para etiquetar las columnas como no opcionales en los datos.

  • Uniqueness "TICKET_NUMBER" > 0.95 -La regla Uniqueness verifica que los datos de la columna cumplan con algún umbral de unicidad. En este ejemplo, se determinó que los datos que rellenan una fila para "TICKET_NUMBER" tenían, como máximo, un 95 % de contenido idéntico al de todas las demás filas, que es lo que sugiere esta regla.

  • ColumnValues "PROVINCE" in ["ON", "QC", "AB", "NY",...] -La regla ColumnValues define valores válidos para la columna en función del contenido de la columna existente. En este ejemplo, los datos de cada fila son una matrícula de dos letras para un estado o una provincia.

  • ColumnLength "INFRACTION_DESCRIPTION" between 15 and 31 -La regla ColumnLength impone una restricción de longitud a los datos de una columna. Esta regla se genera a partir de los datos de la muestra en función de las longitudes mínima y máxima registradas para una columna de cadenas.

Recomendaciones de reglas de monitoreo

Cuando se ejecuten las recomendaciones de reglas de calidad de los datos, la página Agregar reglas y supervisar la calidad de los datos muestra información y acciones adicionales que puede realizar en la barra superior.

Cuando las recomendaciones de reglas estén en curso, puede seleccionar Detener la ejecución antes de que finalice la tarea de recomendación. Mientras la tarea esté en curso, verá el estado, en curso y la fecha y hora en que se inició la ejecución.

Cuando se hayan completado las recomendaciones de reglas, la barra de recomendaciones de reglas mostrará el número de reglas recomendadas, el estado de la última ejecución de la recomendación y la fecha y hora en que finalizó.

Para agregar reglas recomendadas, seleccione Insertar recomendación de regla. Para ver las reglas recomendadas anteriormente, selecciona una fecha específica. Para ejecutar una nueva recomendación, seleccione Más acciones y, a continuación, elija Reglas recomendadas.

Establezca la configuración predeterminada mediante la selección de Administrar la configuración de usuario. Puede establecer la ruta predeterminada de Amazon S3 para almacenar conjuntos de reglas o configurar un rol predeterminado para ejecutar el Data Catalog.

Edición de los conjuntos de reglas recomendados

Como Calidad de datos de AWS Glue genera reglas basadas en los datos existentes que tiene disponibles, es posible que vea algunas reglas inesperadas o no deseadas en las sugerencias automatizadas. Para aprovechar al máximo los conjuntos de reglas recomendados, debe evaluarlos y modificarlos. En este paso del tutorial, debe tomar las reglas generadas en el paso anterior y ajustarlas para aplicar características más restrictivas a algunos datos. También flexibiliza otras reglas para garantizar que más adelante se puedan agregar datos correctos y únicos.

Editar un conjunto de reglas sugerido
  1. En la consola de AWS Glue, elija Data Catalog y, a continuación, seleccione Tablas de bases de datos en el panel de navegación. Elija la tabla tickets.

  2. En la página de detalles de la tabla, seleccione la pestaña Calidad de los datos para acceder a las opciones de la calidad de los datos de AWS Glue para la tabla.

  3. En la sección Conjuntos de reglas, seleccione el conjunto de reglas generado en Generar recomendaciones de reglas.

  4. Elija Acciones y, a continuación, elija Editar en la ventana de la consola. El editor de conjuntos de reglas se carga en la consola. Incluye un panel de edición para las reglas y una referencia rápida para el DQDL.

  5. Elimine la línea 2 del guion. Esto flexibiliza el requisito de limitar el tamaño de la base de datos a un número determinado de filas. Tras la edición, el archivo debe contener lo siguiente en las líneas 1 a 3:

    Rules = [ IsComplete "TAG_NUMBER_MASKED", ColumnLength "TAG_NUMBER_MASKED" between 6 and 9,
  6. Elimine la línea 25 del guion. Esto flexibiliza el requisito de que el 96 % de las provincias registradas estén ON. Tras la edición, el archivo debe contener lo siguiente desde la línea 24 hasta el final del conjunto de reglas:

    ColumnValues "PROVINCE" in ["ON", "QC", "AB", "NY", "AZ", "NS", "BC", "MI", "PQ", "MB", "PA", "FL", "SK", "NJ", "OH", "NB", "IL", "MA", "CA", "VA", "TX", "NF", "MD", "PE", "CT", "NC", "GA", "IN", "OR", "MN", "TN", "WI", "KY", "MO", "WA", "NH", "SC", "CO", "OK", "VT", "RI", "ME", "AL", "YT", "IA", "DE", "AR", "LA", "XX", "WV", "MT", "KS", "NT", "DC", "NV", "NE", "UT", "MS", "NM", "ID", "SD", "ND", "AK", "NU", "GO", "WY", "HI"], ColumnLength "PROVINCE" = 2 ]
  7. Cambie la línea 14 por lo siguiente:

    IsComplete "TIME_OF_INFRACTION",

    Esto refuerza el requisito de la columna al limitar la base de datos únicamente a los tickets que contengan una fecha de infracción registrada. En este conjunto de datos, siempre debe considerar que los tickets sin una hora de infracción registrada son datos no válidos. Esto es diferente a las situaciones en las que la partición o la transformación podrían ser más adecuadas para seguir utilizando los datos o inspeccionándolos a fin de determinar una regla de calidad.

  8. Seleccione Actualizar conjunto de reglas en la parte inferior de la página de la consola.

Creación de un nuevo conjunto de reglas

Un conjunto de reglas es un grupo de reglas de la calidad de los datos que se evalúa en relación con los datos. En la consola de AWS Glue, puede crear conjuntos de reglas personalizados mediante el lenguaje de definición de calidad de los datos (DQDL).

Para crear un conjunto de reglas de calidad de datos
  1. En la consola de AWS Glue, elija Data Catalog, luego Bases de datos y, a continuación, Tablas en el panel de navegación. Seleccione la tabla tickets.

  2. Abra la pestaña Data quality (Calidad de datos).

  3. En la sección Conjuntos de reglas, elija Crear regla. El editor DQDL se inicia en la consola. Cuenta con un área de texto para la edición directa y una referencia rápida para las reglas del DQDL y el esquema de la tabla.

  4. Comience a agregar reglas al área de texto del editor DQDL. Puede escribir reglas directamente desde este tutorial o utilizar la característica generador de reglas DQDL del editor de reglas de calidad de datos.

    nota
    Cómo usar el generador de reglas DQDL
    1. Seleccione un tipo de regla de la lista y elija el signo más para insertar un ejemplo de sintaxis en el panel del editor.

    2. Intercambie los nombres de las columnas del marcador de posición por sus propios nombres de columna. Los nombres de las columnas de la tabla están disponibles en la pestaña Esquema.

    3. Actualice el parámetro de expresión como crea conveniente. Para obtener una lista completa de las expresiones que admite DQDL, consulte Expressions.

    Por ejemplo, las siguientes reglas son restricciones para la validación de datos de la columna ticket_number de la tabla tickets. Para agregar las siguientes reglas, utilice el generador de reglas DQDL o edite directamente el conjunto de reglas:

    IsComplete "ticket_number", IsUnique "ticket_number", ColumnValues "ticket_number" > 9000000000
  5. Proporcione un nombre para su nuevo conjunto de reglas en el campo Nombre del conjunto de reglas.

  6. Seleccione Guardar conjunto de reglas.

Evaluación de la calidad de los datos en varios conjuntos de datos

Puede configurar reglas de calidad de datos en varios conjuntos de datos mediante los conjuntos de reglas ReferentialIntegrity y DatasetMatch. ReferentialIntegrity comprueba si los datos del conjunto de datos principal están presentes en otros conjuntos de datos.

Para agregar un conjunto de datos de referencia, seleccione la pestaña Esquema y, a continuación, seleccione Actualizar tablas de referencia. Se pedirá que seleccione una base de datos y una tabla. Puede agregar la tabla y, a continuación, configurar las reglas de calidad de los datos. Los tipos de reglas como AggregateMatch, RowCountMatch, ReferentialIntegrity, SchemaMatch y DatasetMatch permiten realizar comprobaciones de calidad de datos en varios conjuntos de datos.

Ejecute un conjunto de reglas para evaluar la calidad de los datos

Al ejecutar una tarea de calidad de datos, Calidad de datos de AWS Glue evalúa un conjunto de reglas mediante la comparación con los datos y calcula una puntuación de la calidad de los datos. Esta puntuación representa el porcentaje de reglas de la calidad de los datos que se aprobaron para la entrada.

Para ejecutar una tarea de calidad de datos
  1. En la consola de AWS Glue, elija Data Catalog, luego Bases de datos y, a continuación, Tablas en el panel de navegación. Seleccione la tabla tickets.

  2. Seleccione la pestaña Calidad de los datos.

  3. En la lista Conjuntos de reglas, elija el conjunto de reglas que quiere evaluar con respecto a la tabla. Para este paso, recomendamos que utilice un conjunto de reglas que ya haya escrito o modificado en lugar de generar reglas. Elija Ejecutar.

  4. En el modal, elija su rol de IAM. Este rol debe tener permiso para acceder a los recursos que requieren diversos procesos de Calidad de datos de AWS Glue para ejecutarse en su nombre. Puede guardar el rol de IAM como predeterminado o modificarlo desde la página de Ajuste predeterminado.

  5. En Data quality actions (Acciones de calidad de datos), elija si quiere publicar las métricas en Amazon CloudWatch. Cuando se selecciona esta opción, Calidad de datos de AWS Glue publica métricas que indican la cantidad de reglas que se aprobaron y la cantidad de reglas con errores. Para tomar medidas con respecto a las métricas almacenadas de esta forma, puede utilizar las alarmas de CloudWatch. También se publican las métricas clave en Amazon EventBridge para que pueda configurar las alertas. Para obtener más información, consulte Configurar alertas, implementaciones y programación.

  6. En Frecuencia de ejecución, seleccione Ejecutar bajo demanda o programa el conjunto de reglas. Al programar un conjunto de reglas, se solicitará el nombre de la tarea. La programación se creará en Amazon EventBridge. Puede editar su horario en Amazon EventBridge.

  7. Para guardar los resultados de calidad de datos en Amazon S3, elija una Ubicación de resultados de calidad de datos. El rol de IAM que seleccionó anteriormente para esta tarea debe tener acceso de escritura a esta ubicación.

  8. En Configuraciones adicionales, ingrese la cantidad solicitada de trabajadores que quiere que AWS Glue asigne a su tarea de calidad de datos.

  9. Si lo desea, puede configurar un filtro en el origen de datos. Esto lo ayuda a reducir los datos que lee. También puede usar un filtro para ejecutar validaciones incrementales al seleccionar la información de la partición y pasarla como parámetros mediante llamadas a la API. Para mejorar el rendimiento, puede proporcionar un predicado de partición.

  10. Elija Ejecutar. Debería ver la nueva tarea en la lista Data quality task runs (Ejecuciones de tareas de calidad de datos). Cuando la columna de estado de ejecución de la tarea aparezca como Completada, podrá ver los resultados de la puntuación de calidad. Puede que tenga que actualizar la ventana de la consola para que el estado se actualice correctamente.

  11. Para ver la columna con los detalles de los resultados de calidad de los datos, seleccione el icono “+” para expandir el conjunto de reglas. Los resultados muestran las reglas que se aprobaron y las que no se aprobaron en la evaluación, además del motivo del fallo de la regla.

Visualice la puntuación de la calidad de los datos y los resultados

Para ver la última ejecución de todos los conjuntos de reglas creados
  1. En la consola de AWS Glue, seleccione Tables (Tablas) en el panel de navegación. A continuación, elija la tabla para ejecutar una tarea de calidad de datos.

  2. Seleccione la pestaña Calidad de los datos.

  3. La instantánea de la calidad de los datos muestra una tendencia general de las ejecuciones a lo largo del tiempo. De forma predeterminada, se muestran las últimas 10 ejecuciones de todos los conjuntos de reglas. Para filtrar por conjunto de reglas, seleccione el que desee en la lista desplegable. Si hay menos de 10 ejecuciones, se muestran todas las ejecuciones completadas disponibles.

  4. En la tabla de calidad de los datos, se muestra cada conjunto de reglas con su última ejecución (si la hay), junto con la puntuación. Al expandir el conjunto de reglas, se muestran las reglas que están en ese conjunto de reglas, junto con los resultados de las reglas de esa ejecución.

Para ver la última ejecución de un conjunto de reglas concreto
  1. En la consola de AWS Glue, seleccione Tables (Tablas) en el panel de navegación. A continuación, elija la tabla para ejecutar una tarea de calidad de datos.

  2. Seleccione la pestaña Calidad de los datos.

  3. En la tabla calidad de los datos, elija un conjunto de reglas específico.

  4. En la página detalles del conjunto de reglas, seleccione la pestaña Historial de ejecuciones.

    Todas las ejecuciones de evaluación de este conjunto de reglas en particular se muestran en la tabla de esta pestaña. Puede ver el historial de las puntuaciones y el estado de las ejecuciones.

  5. Para ver más información sobre una ejecución concreta, elija el ID de ejecución para ir a la página de detalles de la ejecución de evaluación. En esta página, puede ver información específica sobre la ejecución y más detalles sobre el estado de los resultados de las reglas individuales.