Premiers pas avec AWS Glue Data Quality pour le Data Catalog - 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.

Premiers pas avec AWS Glue Data Quality pour le Data Catalog

Cette section de mise en route fournit des instructions qui vous aideront à faire vos premiers pas avec AWS Glue Data Quality sur la console AWS Glue. Vous apprendrez à accomplir des tâches essentielles telles que la génération de recommandations de règles portant sur la qualité des données et l'évaluation d'un jeu de règles par rapport à vos données.

Prérequis

Avant d'utiliser AWS Glue Data Quality, vous devez vous familiariser avec l'utilisation du Data Catalog et des Crawlers dans AWS Glue. Avec AWS Glue Data Quality, vous pouvez évaluer la qualité des tables d'une base de données Data Catalog. Vous avez également besoin des éléments suivants :

  • Une table dans le Data Catalog pour évaluer votre ensemble de règles de qualité des données.

  • Un rôle IAM pour AWS Glue, à fournir lors de la génération de recommandations de règles ou de l'exécution d'une tâche liée à la qualité des données. Ce rôle doit avoir l'autorisation d'accéder aux ressources dont les différents processus AWS Glue Data Quality ont besoin pour s'exécuter en votre nom. Ces ressources incluent AWS Glue Amazon S3 et CloudWatch. Pour consulter des exemples de politiques qui incluent les autorisations minimales pour AWS Glue Data Quality, consultez Exemple de politiques IAM.

    Pour en savoir plus sur les rôles IAM pour AWS Glue Glue, consultez Create an IAM policy for the AWS Glue service et Create an IAM role for the AWS Glue service. Vous pouvez également consulter la liste de toutes les autorisations AWS Glue spécifiques à la qualité des données sur la page Authorization for AWS Glue Data Quality actions.

  • Une base de données avec au moins une table qui contient une variété de données. La table utilisée dans ce didacticiel est nommée yyz-tickets, avec la table tickets. Ces données sont une collection d'informations accessibles au public provenant de la ville de Toronto concernant les contraventions de stationnement. Si vous créez votre propre table, assurez-vous qu'elle est alimentée par une variété de données valides afin d'obtenir le meilleur ensemble de règles recommandées.

Un tep-by-step exemple

Pour un step-by-step exemple avec des exemples de jeux de données, consultez le billet de blog AWS Glue Data Quality.

Génération de recommandations de règles

Les recommandations de règles facilitent l'amélioration de la qualité des données sans écrire de code. Avec la qualité des données d'AWS, vous pouvez analyser vos données, identifier les règles et créer un ensemble de règles que vous pouvez évaluer dans le cadre d'une tâche liée à la qualité des données. Les exécutions de recommandations sont automatiquement supprimées après 90 jours.

Pour générer des recommandations de règles de qualité des données
  1. Ouvrez la console AWS Glue à l'adresse https://console.aws.amazon.com/glue/.

  2. Sélectionnez Tables dans le volet de navigation. Choisissez ensuite la table pour laquelle vous souhaitez générer des recommandations de règles de qualité des données.

  3. Sur la page des détails de la table, sélectionnez l'onglet Qualité des données pour accéder aux règles et aux paramètres de la qualité des données d'AWS Glue pour votre table.

  4. Dans l'onglet Qualité des données, choisissez Ajouter des règles et surveiller la qualité des données.

  5. Sur la page Générateur d'ensemble règles, une alerte en haut de la page vous invite à démarrer une tâche de recommandation s'il n'y a pas d'exécution de recommandation de règles.

  6. Choisissez Recommander des règles pour ouvrir la fenêtre modale et saisir vos paramètres pour la tâche de recommandation.

  7. Choisissez un rôle IAM avec accès à AWS Glue. Ce rôle doit avoir l'autorisation d'accéder aux ressources dont les différents processus AWS Glue Data Quality ont besoin pour s'exécuter en votre nom.

  8. Une fois les champs remplis conformément à vos préférences, sélectionnez Recommander des règles pour démarrer l'exécution de la tâche de recommandation. Si des exécutions de recommandation sont en cours ou terminées, vous pouvez gérer vos exécutions dans cette alerte. Il se peut que vous deviez actualiser l'alerte pour afficher le changement du statut. Les exécutions de tâches de recommandation terminées et en cours apparaissent sur la page Historique des exécutions qui répertorie toutes les exécutions de recommandation des 90 derniers jours.

Signification des règles recommandées

La qualité des données d'AWS Glue génère des règles basées sur les données de chaque colonne de la table d'entrée. Il utilise les règles pour identifier les limites potentielles dans lesquelles les données peuvent être filtrées afin de respecter les exigences de qualité. La liste suivante de règles générées inclut des exemples utiles pour comprendre la signification des règles et ce qu'elles peuvent faire lorsqu'elles sont appliquées à vos données.

Pour obtenir la liste complète des types de règles DQDL (Data Quality Definition Language) générés, veuillez consulter Référence des types de règles DQDL.

  • IsComplete "SET_FINE_AMOUNT" : la règle IsComplete vérifie que la colonne est remplie pour une ligne donnée. Utilisez cette règle pour marquer les colonnes comme non facultatives dans les données.

  • Uniqueness "TICKET_NUMBER" > 0.95 : la règle Uniqueness vérifie que les données de la colonne atteignent un certain seuil d'unicité. Dans cet exemple, il a été déterminé que les données qui remplissent une ligne donnée pour "TICKET_NUMBER" étaient identiques à 95 % au maximum à toutes les autres lignes, ce qui suggère cette règle.

  • ColumnValues "PROVINCE" in ["ON", "QC", "AB", "NY",...] : la règle ColumnValues définit des valeurs valides pour la colonne, en fonction du contenu existant de la colonne. Dans cet exemple, les données de chaque ligne correspondent à un code d'immatriculation à deux lettres pour un état ou une province.

  • ColumnLength "INFRACTION_DESCRIPTION" between 15 and 31 : la règle ColumnLength impose une restriction de longueur aux données d'une colonne. Cette règle est générée à partir des échantillons de données en fonction des longueurs minimale et maximale enregistrées pour une colonne de chaînes.

Recommandations sur les règles de surveillance

Lorsque les recommandations de règles de qualité des données sont en cours d'exécution, la page Ajouter des règles et surveiller la qualité des données affiche des informations et des actions supplémentaires que vous pouvez effectuer dans la barre supérieure.

Lorsque les recommandations de règles sont en cours, vous pouvez choisir Arrêter l'exécution avant que la tâche de recommandation ne soit terminée. Pendant que la tâche est en cours, vous pouvez voir le statut En cours, ainsi que la date et l'heure du début de l'exécution.

Lorsque les recommandations de règles sont terminées, la barre de recommandations de règles affiche le nombre de règles recommandées, le statut de la dernière recommandation exécutée, ainsi que la date et l'horodatage de fin.

Vous pouvez ajouter les règles recommandées en choisissant Insérer une recommandation de règle. Pour consulter les règles précédemment recommandées, sélectionnez une date précise. Pour exécuter une nouvelle recommandation, sélectionnez Plus d'actions, puis sélectionnez Règles recommandées.

Définissez les paramètres par défaut en choisissant Gérer les paramètres utilisateur. Vous pouvez définir le chemin par défaut sur Amazon S3 pour stocker les ensembles de règles ou pour configurer un rôle par défaut pour exécuter le catalogue de données.

Modification des ensembles de règles recommandés

Comme la qualité des données d'AWS Glue génère des règles basées sur les données existantes dont vous disposez, il est possible que certaines règles inattendues ou indésirables apparaissent dans les suggestions automatisées. Afin de tirer le meilleur parti des ensembles de règles recommandés, vous devez les évaluer et les modifier. Pour cette étape du didacticiel, vous reprenez les règles générées à l'étape précédente et les ajustez pour appliquer des qualités plus restrictives à certaines données. Vous assouplissez également d'autres règles afin de garantir que des données correctes et uniques puissent être ajoutées ultérieurement.

Modifier un ensemble de règles suggéré
  1. Dans la console AWS, choisissez Catalogue de données dans le panneau de navigation, puis choisissez Tables des bases de données. Choisissez la table tickets.

  2. Sur la page des détails de la table, choisissez l'onglet Qualité des données pour accéder aux règles et aux paramètres de la qualité des données d'AWS Glue pour la table.

  3. Dans la section Ensembles de règles, sélectionnez l'ensemble de règles généré dans Génération de recommandations de règles.

  4. Choisissez Actions, puis sélectionnez Modifier dans la fenêtre de la console. L'éditeur d'ensembles de règles se charge dans la console. Il inclut un volet d'édition pour vos règles et une référence rapide pour DQDL.

  5. Supprimer la ligne 2 du script. Cela permet d'assouplir l'exigence selon laquelle la taille de la base de données doit être limitée à un certain nombre de lignes. Après la modification, votre fichier doit contenir les éléments suivants sur les lignes 1 à 3 :

    Rules = [ IsComplete "TAG_NUMBER_MASKED", ColumnLength "TAG_NUMBER_MASKED" between 6 and 9,
  6. Supprimer la ligne 25 du script. Cela permet d'assouplir l'exigence selon laquelle 96 % des provinces enregistrées sont ON. Après la modification, votre fichier doit contenir les éléments suivants, de la ligne 24 à la fin de l'ensemble de règles :

    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. Changez la ligne 14 comme suit :

    IsComplete "TIME_OF_INFRACTION",

    Cela renforce l'exigence relative à la colonne en limitant la base de données aux seules contraventions qui contiennent une heure d'infraction enregistrée. Vous devez toujours considérer les contraventions sans heure d'infraction enregistrée comme des données non valides dans ce jeu de données. Cela diffère des situations dans lesquelles le partitionnement ou la transformation peuvent être plus appropriés pour une utilisation ou une inspection plus poussée des données afin de déterminer une règle de qualité.

  8. Choisissez Mettre à jour l'ensemble de règles en bas de la page de la console.

Création d'un ensemble de règles

Un jeu de règles est un groupe de règles de qualité des données que vous évaluez par rapport à vos données. Dans la console AWS Glue, vous pouvez créer des ensembles de règles personnalisés à l'aide du langage DQDL (Data Quality Definition Language).

Pour créer un jeu de règles de qualité des données
  1. Dans la console AWS Glue, choisissez Catalogue de données, puis Bases de données, et enfin choisissez Tables dans le panneau de navigation. Sélectionnez le tableau tickets.

  2. Ouvrez l'onglet Data quality (Qualité des données).

  3. Dans la section Ensembles de règles choisissez Créer un ensemble de règles. L'éditeur DQDL s'ouvre dans la console. Il dispose d'une zone de texte pour l'édition directe et d'une référence rapide pour les règles DQDL et le schéma de la table.

  4. Commencez à ajouter des règles dans la zone de texte de l'éditeur DQDL. Vous pouvez soit écrire des règles directement à partir de ce didacticiel, soit utiliser la fonctionnalité du générateur de règles DQDL de l'éditeur de règles de qualité des données.

    Note
    Comment utiliser le générateur de règles DQDL
    1. Sélectionnez un type de règle dans la liste, puis choisissez le signe plus pour insérer un exemple de syntaxe dans le volet d'édition.

    2. Remplacez les noms des colonnes par vos propres noms de colonnes. Les noms des colonnes de la table sont disponibles dans l'onglet Schéma.

    3. Mettez à jour le paramètre d'expression selon vos besoins. Pour obtenir la liste complète des expressions prises en charge par DQDL, consultez Expressions.

    Par exemple, les règles suivantes sont des contraintes pour la validation des données de la colonne ticket_number dans la table tickets. Pour ajouter les règles suivantes, utilisez le générateur de règles DQDL ou modifiez directement votre ensemble de règles :

    IsComplete "ticket_number", IsUnique "ticket_number", ColumnValues "ticket_number" > 9000000000
  5. Fournissez un nom pour votre exécution dans le champ Nom de l'ensemble de règles.

  6. Choisissez Enregistrer l'ensemble de règles.

Évaluation de la qualité des données sur plusieurs jeux de données

Vous pouvez définir des règles de qualité des données pour plusieurs ensembles de données à l'aide d'ensembles ReferentialIntegrity de DatasetMatch règles. ReferentialIntegrityvérifie si les données du jeu de données principal sont présentes dans d'autres ensembles de données.

Pour ajouter un jeu de données de référence, cliquez sur l'onglet Schéma, puis sur Mettre à jour les tables de référence. Vous serez invité à sélectionner une base de données et une table. Vous pouvez ajouter la table, puis définir des règles de qualité des données. Les types de règles tels que AggregateMatch RowCountMatch ReferentialIntegrity, SchemaMatch, et permettent DatasetMatch d'effectuer des contrôles de qualité des données sur plusieurs ensembles de données.

Exécution d’un jeu de règles pour évaluer la qualité des données

Lorsque vous exécutez une tâche liée à la qualité des données, AWS Glue Data Quality évalue un jeu de règles par rapport à vos données et calcule un score de qualité des données. Ce score représente le pourcentage de règles de qualité des données qui ont été acceptées pour l'entrée.

Pour exécuter une tâche liée à la qualité des données
  1. Dans la console AWS Glue, choisissez Catalogue de données, puis Bases de données, et enfin choisissez Tables dans le panneau de navigation. Sélectionnez le tableau tickets.

  2. Choisissez l'onglet Qualité des données.

  3. Dans la liste Ensembles de règles, sélectionnez l'ensemble de règles que vous souhaitez évaluer par rapport à la table. Pour cette étape, nous vous recommandons d'utiliser un ensemble de règles que vous avez déjà écrit ou modifié plutôt que des règles générées. Cliquez sur Exécuter.

  4. Dans la fenêtre modale, choisissez votre rôle IAM. Ce rôle doit avoir l'autorisation d'accéder aux ressources dont les différents processus AWS Glue Data Quality ont besoin pour s'exécuter en votre nom. Vous pouvez enregistrer le rôle IAM comme rôle par défaut ou le modifier en accédant à la page Paramètres par défaut.

  5. Sous Actions relatives à la qualité des données, indiquez si vous souhaitez publier des statistiques sur Amazon CloudWatch. Lorsque cette option est sélectionnée, la qualité des données d'AWS Glue publie des métriques indiquant le nombre de règles qui ont été appliquées et le nombre de règles qui ont échoué. Pour agir sur les métriques stockées de cette manière, vous pouvez utiliser des CloudWatch alarmes. Les métriques clés sont également publiées sur Amazon EventBridge pour vous permettre de configurer des alertes. Pour plus d'informations, consultez Setting up alerts, deployments, and scheduling.

  6. Sous Fréquence d'exécution, choisissez d'exécuter à la demande ou de planifier l'ensemble de règles. Lorsque vous planifiez un ensemble de règles, le nom de la tâche vous est demandé. Le calendrier sera créé dans Amazon EventBridge. Vous pouvez modifier votre calendrier dans Amazon EventBridge.

  7. Pour enregistrer les résultats dans Amazon S3, choisissez un emplacement pour les résultats de la qualité des données. Le rôle IAM que vous avez précédemment sélectionné pour cette tâche doit disposer d'un accès à cet emplacement.

  8. Sous Configurations additionnelles, saisissez le Nombre de travailleurs requis que vous souhaitez qu'AWS Glue alloue à votre tâche de qualité des données.

  9. Vous pouvez éventuellement configurer un filtre au niveau de la source de données. Cela vous permet de réduire le nombre de données que vous lisez. Vous pouvez également utiliser un filtre pour exécuter des validations incrémentielles en sélectionnant des informations de partition et en les transmettant en tant que paramètres via des appels d'API. Pour améliorer les performances, vous pouvez fournir un prédicat de partition.

  10. Cliquez sur Exécuter. Votre nouvelle tâche doit apparaître dans la liste Data quality task runs (Exécutions de tâches liées à la qualité des données). Lorsque la colonne Statut d'exécution de la tâche indique Terminé, vous pouvez consulter les résultats du score de qualité. Il se peut que vous deviez rafraîchir votre fenêtre de console pour que le statut soit correctement mis à jour.

  11. Pour afficher la colonne contenant les détails des résultats de la qualité des données, cliquez sur l'icône « + » pour développer l'ensemble de règles. Les résultats vous indiquent les règles qui ont réussi et échoué lors de l'évaluation, ainsi que les causes de l'échec des règles.

Affichage du score de qualité des données et des résultats

Pour voir la dernière exécution sur tous les ensembles de règles créés
  1. Dans la console AWS Glue, sélectionnez Tables à partir du panneau de navigation. Choisissez ensuite la table pour laquelle vous souhaitez exécuter une tâche liée à la qualité des données.

  2. Choisissez l'onglet Qualité des données.

  3. L'instantané de la qualité des données montre une tendance générale des exécutions au fil du temps. Les 10 dernières exécutions de tous les ensembles de règles sont affichées par défaut. Pour filtrer par ensemble de règles, sélectionnez celui que vous souhaitez dans la liste déroulante. S'il y a moins de 10 exécutions, toutes les exécutions terminées disponibles sont affichées.

  4. Dans la table Qualité des données, chaque ensemble de règles avec sa dernière exécution (le cas échéant) est affiché, ainsi que le score. En développant l'ensemble de règles, vous affichez les règles qu'il contient, ainsi que les résultats de l'exécution.

Pour voir la dernière exécution sur un ensemble de règles en particulier
  1. Dans la console AWS Glue, sélectionnez Tables à partir du panneau de navigation. Choisissez ensuite la table pour laquelle vous souhaitez exécuter une tâche liée à la qualité des données.

  2. Choisissez l'onglet Qualité des données.

  3. Dans le tableau Qualité des données, choisissez un ensemble de règles spécifique.

  4. Sur la page Détails de l'ensemble de règles, choisissez l'onglet Historique des exécutions.

    Toutes les exécutions d'évaluation pour cet ensemble de règles particulier sont répertoriées dans la table de cet onglet. Vous pouvez consulter l'historique des scores et le statut des exécutions.

  5. Pour obtenir plus d'informations sur une exécution en particulier, choisissez l'ID d'exécution pour accéder à la page Détails de l'exécution d'évaluation. Sur cette page, vous pouvez consulter des informations sur l'exécution et plus de détails sur le statut des résultats des règles individuelles.