Detección de anomalías en Calidad de los datos AWS Glue - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Detección de anomalías en Calidad de los datos AWS Glue

Los ingenieros administran cientos de canalizaciones de datos en simultáneo. Cada canalización puede extraer datos de diferentes fuentes y cargarlos en el lago de datos o en otros repositorios de datos. Para garantizar que se entreguen datos de alta calidad para la toma de decisiones, establecen reglas de la calidad de los datos. Estas reglas evalúan los datos en función de criterios fijos que reflejan el estado actual de la empresa. Sin embargo, cuando el entorno empresarial cambia, las propiedades de los datos cambian, lo que hace que estos criterios fijos queden obsoletos y la calidad de los datos sea deficiente.

Por ejemplo, un ingeniero de datos de una empresa minorista estableció una regla que valida que las ventas diarias deben superar el umbral de un millón de dólares. Al cabo de unos meses, las ventas diarias superaron los dos millones de dólares, lo que hizo que el umbral quedara obsoleto. El ingeniero de datos no pudo actualizar las reglas para reflejar los umbrales más recientes debido a la falta de notificación y al esfuerzo necesario para analizar y actualizar la regla manualmente. Más adelante en el mes, los usuarios de la empresa notaron una caída del 25 % en sus ventas. Tras horas de investigación, los ingenieros de datos descubrieron que un canal de ETL responsable de extraer datos de algunos almacenes había fallado sin generar errores. La regla que contenía umbrales obsoletos siguió funcionando correctamente sin detectar este problema.

De forma alternativa, las alertas proactivas que pueden detectar estas anomalías podrían haber permitido a los usuarios detectar este problema. Además, el seguimiento de la estacionalidad en las empresas puede resaltar problemas importantes en la calidad de los datos. Por ejemplo, las ventas minoristas pueden ser más altas los fines de semana y durante la temporada navideña, mientras que son relativamente bajas los días de semana. La divergencia de este patrón puede indicar problemas de calidad de los datos o cambios en las circunstancias de la empresa. Las reglas de la calidad de los datos no pueden detectar los patrones estacionales, ya que esto requiere algoritmos avanzados que puedan aprender de patrones anteriores que capten la estacionalidad para detectar las desviaciones.

Por último, a los usuarios les resulta difícil crear y mantener reglas debido a la naturaleza técnica del proceso de creación de reglas y al tiempo que lleva crearlas. Como resultado, prefieren explorar primero los datos antes que definir las reglas. Los clientes necesitan la capacidad de detectar anomalías fácilmente con el fin de detectar problemas de calidad de datos de forma proactiva y tomar decisiones empresariales con seguridad.

Funcionamiento

nota

La detección de anomalías solo se admite en ETL de AWS Glue. No se admite en la calidad de datos basada en el Catálogo de datos.

La captura de pantalla muestra el proceso de detección de anomalías en la calidad de los datos.

Calidad de datos de AWS Glue combina el poder de la calidad de datos basada en reglas y las capacidades de detección de anomalías para ofrecer datos de alta calidad. Para empezar, primero debe configurar reglas y analizadores y, luego, habilitar la detección de anomalías.

Reglas

Reglas: las reglas expresan las expectativas de sus datos en un lenguaje abierto denominado Lenguaje de definición de calidad de datos (DQDL). A continuación se muestra un ejemplo de la regla. Esta regla se aplicará correctamente cuando no haya valores vacíos o NULOS en la columna `passenger count`:

Rules = [ IsComplete "passenger_count" ]

Analizadores

En situaciones en las que conoce las columnas críticas, pero es posible que no sepa lo suficiente sobre los datos como para redactar reglas específicas, puede monitorear estas columnas mediante analizadores. Los analizadores son una forma de recopilar estadísticas de datos sin definir reglas explícitas. A continuación se muestra un ejemplo de la configuración de analizadores:

Analyzers = [ AllStatistics "fare_amount", DistinctValuesCount "pulocationid", RowCount ]

En este ejemplo, se configuran tres analizadores:

  1. El primer analizador, `AllStatistics “fare_amount”`, capturará todas las estadísticas disponibles para el campo `fare_amount`.

  2. El segundo analizador, `DistinctValuesCount “pulocationid”`, capturará el recuento de valores distintos de la columna `pulocationid`.

  3. El tercer analizador, `RowCount`, capturará la cantidad total de registros del conjunto de datos.

Los analizadores funcionan como una forma sencilla de recopilar estadísticas de datos relevantes sin especificar reglas complejas. Mediante el monitoreo de estas estadísticas, puede obtener información sobre la calidad de los datos e identificar posibles problemas o anomalías que pueden requerir una investigación más profunda o la creación de reglas específicas.

Estadísticas de datos

Tanto los analizadores como las reglas de Calidad de datos de AWS Glue recopilan estadísticas de datos, a las que también se las conoce como perfiles de datos. Estas estadísticas proporcionan información sobre las características y la calidad de sus datos. Las estadísticas recopiladas se almacenan a lo largo del tiempo en el servicio AWS Glue, lo que le permite realizar un seguimiento y analizar los cambios en sus perfiles de datos.

Puede recuperar fácilmente estas estadísticas y escribirlas en Amazon S3 para analizarlas con mayor profundidad, o almacenarlas a largo plazo mediante la invocación de las API correspondientes. Esta funcionalidad le permite integrar la creación de perfiles de datos en sus flujos de trabajo de procesamiento de datos y aprovechar las estadísticas recopiladas para diversos fines, como el monitoreo de la calidad de los datos y la detección de anomalías.

Al almacenar los perfiles de datos en Amazon S3, puede aprovechar la escalabilidad, durabilidad y rentabilidad del servicio de almacenamiento de objetos de Amazon. Además, puede aprovechar otros servicios de AWS o herramientas de terceros para analizar y visualizar los perfiles de datos, lo que le permitirá obtener información más exhaustiva sobre la calidad de los datos y tomar decisiones informadas sobre la administración y gobernanza de los datos.

A continuación se muestra un ejemplo de estadísticas de datos almacenadas a lo largo del tiempo.

En la captura de pantalla se muestra un gráfico lineal de las estadísticas de la calidad de los datos a lo largo del tiempo.
nota

Calidad de datos de AWS Glue recopilará estadísticas solo una vez, incluso si tiene Regla y Analizador para las mismas columnas, lo que hace que el proceso de generación de estadísticas sea eficiente.

Detección de anomalías

Calidad de datos de AWS Glue requiere un mínimo de tres puntos de datos para detectar anomalías. Utiliza un algoritmo de machine learning para aprender de las tendencias pasadas y, luego, predecir los valores futuros. Cuando el valor real no se encuentra dentro del rango previsto, Calidad de datos de AWS Glue crea una Observación de anomalía. Proporciona una representación visual del valor real y de las tendencias. En el siguiente gráfico se muestran cuatro valores.

En la captura de pantalla se muestra un gráfico lineal de los eventos de detección de anomalías en la calidad de los datos a lo largo del tiempo.
  1. La estadística real y su tendencia a lo largo del tiempo.

  2. Una tendencia derivada a partir del aprendizaje de la tendencia real. Es útil para entender la dirección de la tendencia.

  3. El límite superior posible de la estadística.

  4. El límite inferior posible de la estadística.

  5. Reglas de calidad de datos recomendadas que pueden detectar estos problemas en el futuro.

Hay algunos puntos importantes que se deben tener en cuenta en relación con las anomalías:

  • Cuando se generan anomalías, las puntuaciones de la calidad de los datos no se ven afectadas.

  • Cuando se detecta una anomalía, se considera normal para las ejecuciones posteriores. El algoritmo de machine learning considerará este valor anómalo como entrada, a menos que se excluya explícitamente.

Reentrenamiento

Reentrenar el modelo de detección de anomalías es fundamental para detectar las anomalías correctas. Cuando se detectan anomalías, Calidad de datos de AWS Glue incluye la anomalía en el modelo como un valor normal. Para garantizar que la detección de anomalías funcione con precisión, es importante proporcionar comentarios para reconocer o rechazar la anomalía. AWS Calidad de datos de Glue proporciona mecanismos tanto en AWS Glue Studio como en las API para brindar comentarios al modelo. Para obtener más información, consulte los documentos sobre la configuración de Detección de anomalías en las canalizaciones ETL de AWS Glue.

Detalles del algoritmo de Detección de anomalías

  • El algoritmo de Detección de anomalías examina las estadísticas de datos a lo largo del tiempo. El algoritmo considera todos los puntos de datos disponibles e ignora las estadísticas que se excluyen explícitamente.

  • Estas estadísticas de datos se almacenan en el servicio de AWS Glue, y usted puede proporcionar claves de AWS KMS para cifrarlas. Consulte la Guía de seguridad sobre cómo proporcionar claves de AWS KMS para cifrar las estadísticas de Calidad de datos de AWS Glue.

  • El componente temporal es fundamental para el algoritmo de Detección de anomalías. En función de los valores anteriores, Calidad de datos de AWS Glue determina los límites superior e inferior. Durante esta determinación, tiene en cuenta el componente temporal. Los límites varían para los mismos valores en un intervalo de un minuto, un intervalo de una hora o un intervalo diario.

Captura de la estacionalidad

El algoritmo de detección de anomalías de Calidad de datos de AWS Glue puede capturar patrones estacionales. Por ejemplo, puede entender que los patrones de los días de semana difieren de los patrones de los fines de semana. Esto se puede ver en el siguiente ejemplo, donde Calidad de datos de AWS detecta una tendencia estacional en los valores de los datos. No tiene que tomar medidas específicas para habilitar esta capacidad. Con el tiempo, Calidad de datos de AWS Glue aprende las tendencias estacionales y detecta anomalías cuando estos patrones se rompen.

La captura de pantalla muestra una pestaña de calidad de datos con datos que muestran anomalías al capturar las tendencias estacionales.

Costo

Se le cobrará en función del tiempo que se tarde en detectar las anomalías. Se cobra 1 DPU por el tiempo que se demore en detectar anomalías para cada estadística. Consulte los Precios de AWS Glue para ver ejemplos detallados.

Consideraciones clave

Almacenar las estadísticas no supone costo alguno. Sin embargo, hay un límite de 100 000 estadísticas por cuenta. Estas estadísticas se almacenarán durante un máximo de dos años.