Détection d'anomalies dans AWS Glue Qualité des données - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Détection d'anomalies dans AWS Glue Qualité des données

Les ingénieurs gèrent des centaines de pipelines de données simultanément. Chaque pipeline peut extraire des données de différentes sources et les charger dans le lac de données ou dans d'autres référentiels de données. Pour garantir la fourniture de données de haute qualité pour la prise de décision, ils établissent des règles de qualité des données. Ces règles évaluent les données sur la base de critères fixes reflétant l'état actuel des affaires. Cependant, lorsque l'environnement commercial change, les propriétés des données changent, ce qui rend ces critères fixes obsolètes et entraîne une mauvaise qualité des données.

Par exemple, un ingénieur des données d'une entreprise de vente au détail a établi une règle qui valide que les ventes quotidiennes doivent dépasser un one-million-dollar certain seuil. Après quelques mois, les ventes quotidiennes ont dépassé les deux millions de dollars, rendant le seuil obsolète. L'ingénieur des données n'a pas pu mettre à jour les règles pour refléter les derniers seuils en raison de l'absence de notification et des efforts nécessaires pour analyser et mettre à jour manuellement la règle. Plus tard dans le mois, les utilisateurs professionnels ont remarqué une baisse de 25 % de leurs ventes. Après des heures d'enquête, les ingénieurs de données ont découvert qu'un pipeline ETL chargé d'extraire les données de certains magasins avait échoué sans générer d'erreurs. La règle dont les seuils étaient périmés a continué de fonctionner correctement sans que ce problème ne soit détecté.

Par ailleurs, des alertes proactives capables de détecter ces anomalies auraient pu permettre aux utilisateurs de détecter ce problème. En outre, le suivi de la saisonnalité dans le monde des affaires peut mettre en évidence d'importants problèmes de qualité des données. Par exemple, les ventes au détail peuvent être les plus élevées le week-end et pendant les fêtes de fin d'année, alors qu'elles sont relativement faibles en semaine. Toute divergence par rapport à ce schéma peut indiquer des problèmes de qualité des données ou des changements dans le contexte commercial. Les règles de qualité des données ne peuvent pas détecter les modèles saisonniers, car cela nécessite des algorithmes avancés capables de tirer des leçons des modèles passés pour capturer la saisonnalité afin de détecter les écarts.

Enfin, les utilisateurs trouvent difficile de créer et de maintenir des règles en raison de la nature technique du processus de création des règles et du temps nécessaire à leur création. Par conséquent, ils préfèrent d'abord explorer les informations relatives aux données avant de définir des règles. Les clients doivent pouvoir détecter facilement les anomalies, ce qui leur permet de détecter de manière proactive les problèmes de qualité des données et de prendre des décisions commerciales en toute confiance.

Comment ça marche

Note

La détection des anomalies n'est prise en charge que dans AWS Glue ETL. Cela n'est pas pris en charge dans la qualité des données basée sur le catalogue de données.

La capture d’écran montre le processus de détection des anomalies liées à la qualité des données.

AWS Glue Data Quality combine la puissance de la qualité des données basée sur des règles et des fonctionnalités de détection des anomalies pour fournir des données de haute qualité. Pour commencer, vous devez d'abord configurer les règles et les analyseurs, puis activer la détection des anomalies.

Règles

Règles : les règles expriment les attentes relatives à vos données dans un langage ouvert appelé Data Quality Definition Language (DQDL). Un exemple de règle est présenté ci-dessous. Cette règle sera efficace s'il n'y a aucune valeur vide ou NULL dans la colonne `passenger_count` :

Rules = [ IsComplete "passenger_count" ]

Analyseurs

Dans les situations où vous connaissez les colonnes critiques mais que vous ne connaissez pas suffisamment les données pour écrire des règles spécifiques, vous pouvez surveiller ces colonnes à l'aide d'Analyzers. Les analyseurs permettent de recueillir des statistiques de données sans définir de règles explicites. Voici un exemple de configuration des analyseurs :

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

Dans cet exemple, trois analyseurs sont configurés :

  1. Le premier analyseur, `AllStatistics « fare_amount »`, capturera toutes les statistiques disponibles pour le champ `fare_amount`.

  2. Le second analyseur, DistinctValuesCount « pulocationid », capturera le nombre de valeurs distinctes dans la colonne « pulocationid ».

  3. Le troisième analyseur, `RowCount`, capturera le nombre total d'enregistrements de l'ensemble de données.

Les analyseurs constituent un moyen simple de recueillir des statistiques de données pertinentes sans définir de règles complexes. En surveillant ces statistiques, vous pouvez obtenir des informations sur la qualité des données et identifier les problèmes ou anomalies potentiels qui peuvent nécessiter une enquête plus approfondie ou la création de règles spécifiques.

Statistiques des données

Analyzers et Rules in AWS Glue Data Quality collectent des statistiques de données, également appelées profils de données. Ces statistiques fournissent des informations sur les caractéristiques et la qualité de vos données. Les statistiques collectées sont stockées au fil du temps au sein du service AWS Glue, ce qui vous permet de suivre et d'analyser les modifications de vos profils de données.

Vous pouvez facilement récupérer ces statistiques et les écrire sur Amazon S3 pour une analyse plus approfondie ou un stockage à long terme en invoquant le code approprié APIs. Cette fonctionnalité vous permet d'intégrer le profilage des données dans vos flux de travail de traitement des données et d'exploiter les statistiques collectées à diverses fins, telles que le suivi de la qualité des données, la détection des anomalies.

En stockant les profils de données dans Amazon S3, vous pouvez tirer parti de l'évolutivité, de la durabilité et de la rentabilité du service de stockage d'objets d'Amazon. En outre, vous pouvez tirer parti d'autres AWS services ou d'outils tiers pour analyser et visualiser les profils de données, ce qui vous permet de mieux comprendre la qualité de vos données et de prendre des décisions éclairées en matière de gestion et de gouvernance des données.

Voici un exemple de statistiques de données stockées au fil du temps.

La capture d'écran montre un graphique linéaire des statistiques sur la qualité des données au fil du temps.
Note

AWS Glue Data Quality ne collectera les statistiques qu'une seule fois, même si vous disposez à la fois de Rule et d'Analyzer pour les mêmes colonnes, ce qui rend le processus de génération de statistiques efficace.

Détection des anomalies

AWS Glue Data Quality nécessite un minimum de trois points de données pour détecter les anomalies. Il utilise un algorithme d'apprentissage automatique pour tirer des leçons des tendances passées, puis prévoir les valeurs futures. Lorsque la valeur réelle ne se situe pas dans la plage prévue, AWS Glue Data Quality crée une observation d'anomalie. Il fournit une représentation visuelle de la valeur réelle et des tendances. Quatre valeurs sont affichées sur le graphique ci-dessous.

La capture d'écran montre un graphique linéaire des événements de détection d'anomalies de qualité des données au fil du temps.
  1. La statistique réelle et son évolution dans le temps.

  2. Une tendance dérivée en tirant des leçons de la tendance réelle. Cela est utile pour comprendre l'orientation de la tendance.

  3. Borne supérieure possible pour la statistique.

  4. Borne inférieure possible pour la statistique.

  5. Règles de qualité des données recommandées permettant de détecter ces problèmes à l'avenir.

Il y a quelques points importants à noter concernant les anomalies :

  • Lorsque des anomalies sont générées, les scores de qualité des données ne sont pas affectés.

  • Lorsqu'une anomalie est détectée, elle est considérée comme normale pour les essais suivants. L'algorithme d'apprentissage automatique considérera cette valeur anormale comme entrée, sauf si elle est explicitement exclue.

Reconversion

Il est essentiel de réentraîner le modèle de détection des anomalies pour détecter les bonnes anomalies. Lorsque des anomalies sont détectées, AWS Glue Data Quality inclut l'anomalie dans le modèle en tant que valeur normale. Pour garantir le bon fonctionnement de la détection des anomalies, il est important de fournir un feedback en reconnaissant ou en rejetant l'anomalie. AWS Glue Data Quality fournit des mécanismes à la fois dans AWS Glue Studio et APIs pour fournir des commentaires au modèle. Pour en savoir plus, consultez la documentation sur la configuration de la détection des anomalies dans les pipelines AWS Glue ETL.

Détails de l'algorithme de détection des anomalies

  • L'algorithme de détection des anomalies examine les statistiques des données au fil du temps. L'algorithme prend en compte tous les points de données disponibles et ignore les statistiques explicitement exclues.

  • Ces statistiques de données sont stockées dans le service AWS Glue, et vous pouvez fournir des AWS KMS clés pour les chiffrer. Reportez-vous au guide de sécurité pour savoir comment fournir des AWS KMS clés pour chiffrer les statistiques de AWS Glue Data Quality.

  • La composante temporelle est cruciale pour l'algorithme de détection des anomalies. Sur la base des valeurs passées, AWS Glue Data Quality détermine les limites supérieure et inférieure. Au cours de cette détermination, il prend en compte la composante temporelle. Les limites seront différentes pour les mêmes valeurs sur un intervalle d'une minute, un intervalle horaire ou un intervalle quotidien.

Capter la saisonnalité

AWS L'algorithme de détection des anomalies de Glue Data Quality peut capturer les tendances saisonnières. Par exemple, il peut comprendre que les modèles des jours de semaine diffèrent des modèles du week-end. C'est ce que montre l'exemple ci-dessous, où AWS Glue Data Quality détecte une tendance saisonnière dans les valeurs des données. Il n'est pas nécessaire de faire quoi que ce soit de spécifique pour activer cette fonctionnalité. Au fil du temps, AWS Glue Data Quality apprend les tendances saisonnières et détecte les anomalies lorsque ces tendances se cassent.

La capture d'écran montre un onglet de qualité des données présentant des anomalies lors de la capture des tendances saisonnières.

Coût

Vous serez facturé en fonction du temps nécessaire pour détecter les anomalies. Chaque statistique est facturée 1 DPU pour le temps nécessaire à la détection des anomalies. Reportez-vous à AWS la section Glue Pricing pour des exemples détaillés.

Considérations clés

Le stockage des statistiques est gratuit. Cependant, il existe une limite de 100 000 statistiques par compte. Ces statistiques seront conservées pendant deux ans au maximum.