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émarrage avec AWS Qualité des données Glue pour Catalogue de données
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.
Conditions préalables
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 tabletickets. 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.
Step-by-step exemple
Pour un exemple étape par étape 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
-
Ouvrez la console AWS Glue à l'adresse https://console.aws.amazon.com/glue/
. -
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.
-
Sur la page des détails du tableau, sélectionnez l'onglet Qualité des données pour accéder aux règles et paramètres de qualité des données de AWS Glue pour votre tableau.
-
Dans l'onglet Qualité des données, choisissez Ajouter des règles et surveiller la qualité des données.
-
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.
-
Choisissez Recommander des règles pour ouvrir la fenêtre modale et saisir vos paramètres pour la tâche de recommandation.
-
Choisissez un rôle IAM avec accès à AWS Glue. Ce rôle doit être autorisé à accéder aux ressources dont les différents processus de AWS Glue Data Quality ont besoin pour être exécutés en votre nom.
-
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.
Modes de recommandation
Lorsque vous lancez l'exécution d'une recommandation, vous pouvez choisir l'un des modes suivants :
-
BASICanalyse les statistiques des tableaux pour recommander des règles. Ce mode est le mode par défaut. -
ADVANCEDpermet Amazon Bedrock de recommander des règles à partir des métadonnées du tableau et d'un échantillon aléatoire des lignes du tableau. Ce contexte supplémentaire peut produire des règles basées sur des valeurs et des relations que les statistiques des tables ne décrivent pas.
Amélioration automatique d'Amazon Bedrock
Dans AWS les régions prises en charge, les exécutions de BASIC recommandations tentent automatiquement d'améliorer l'ensemble de règles statistiques avecAmazon Bedrock. AWS Glue Data Quality envoie l'ensemble de règles et les métadonnées des colonnes à des fins d'amélioration. Il n'est pas nécessaire d'activer cette étape ou d'accorder Amazon Bedrock des autorisations.
Le rôle de recommandation doit permettreglue:StartDataQualityRuleRecommendationRun. Si l'amélioration échoue ou n'est pas disponible, l'exécution renvoie le jeu de règles statistiques d'origine.
Ressources et frais d'Athéna
ADVANCEDutilise Athena pour accéder aux données du tableau pour l'exécution de la recommandation. Si le groupe de travail glue-dataquality-sampling Athena n'existe pas, AWS Glue le crée dans votre compte. Vous pouvez consulter ce groupe de travail dans la console Athena. Toute ADVANCED course entraîne des frais pour l'utilisation d'Athéna.
Choix d'un mode de recommandation
Choisissez BASIC ou ADVANCED en fonction de vos priorités :
-
Si vous avez besoin de recommandations basées sur des tableaux statistiques et une assistance dans toutes les régions de qualité des données de AWS Glue, choisissez
BASIC. -
Si vous souhaitez des recommandations dynamiques avec plus de contexte sur vos données, choisissez
ADVANCED.
Disponibilité et limites
Vous pouvez l'utiliser ADVANCED dans les AWS régions suivantes :
ap-northeast-1ap-northeast-3ap-southeast-2ap-southeast-4ca-central-1eu-central-1eu-central-2eu-north-1eu-south-1eu-south-2eu-west-1eu-west-2eu-west-3us-east-1us-east-2us-west-1us-west-2
Note
ADVANCEDutilise un modèle génératif et peut renvoyer différentes règles pour la même table. Nous vous recommandons donc de revoir les règles après chaque exécution.
Note
Une ADVANCED course ne prend pas en charge PreProcessingQueryNumberOfWorkers,Timeout, ouAdditionalRunOptions.
La AWS CLI commande suivante lance l'exécution d'une ADVANCED recommandation :
aws glue start-data-quality-rule-recommendation-run \ --data-source '{"DataQualityGlueTable":{"DatabaseName":"mydatabase","TableName":"mytable"}}' \ --role "arn:aws:iam::111122223333:role/GlueDataQualityRole" \ --recommendation-mode ADVANCED
Pour plus d'informations sur le traitement et le stockage des données, consultezProtection des données pour des recommandations avancées en matière de règles de qualité des données.
Pour plus d'informations sur les autorisations de rôle de recommandation requises, consultezAutorisations minimales pour obtenir des recommandations avancées en matière de règles de qualité des données.
Signification des règles recommandées
Passez en revue et modifiez les règles générées avant de les utiliser dans le cadre d'une évaluation de la qualité des données.
AWS Glue Data Quality 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ègleIsCompletevé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ègleUniquenessvé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ègleColumnValuesdé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ègleColumnLengthimpose 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é
Dans la console AWS Glue, choisissez Data Catalog, puis choisissez Databases de données dans le volet de navigation. Choisissez la table
tickets.-
Sur la page des détails du tableau, choisissez l'onglet Qualité des données pour accéder aux règles et paramètres de qualité des données de AWS Glue pour le tableau.
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.
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.
-
Supprimer la ligne
2du 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, -
Supprimer la ligne
25du script. Cela permet d'assouplir l'exigence selon laquelle 96 % des provinces enregistrées sontON. Après la modification, votre fichier doit contenir les éléments suivants, de la ligne24à 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 ] -
Changez la ligne
14comme 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é.
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
-
Dans la console AWS Glue, choisissez Data Catalog, choisissez Databases, puis choisissez Tables dans le volet de navigation. Sélectionnez la table
tickets. -
Ouvrez l'onglet Data quality (Qualité des données).
-
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.
-
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
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.
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.
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_numberdans la tabletickets. 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 Fournissez un nom pour votre exécution dans le champ Nom de l'ensemble de règles.
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 de jeux de DatasetMatch règles ReferentialIntegrity et. ReferentialIntegrityvérifie si les données de l'ensemble 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 DatasetMatch permettent 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 de qualité des données, AWS Glue Data Quality évalue un ensemble 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
-
Dans la console AWS Glue, choisissez Data Catalog, choisissez Databases, puis choisissez Tables dans le volet de navigation. Sélectionnez le tableau
tickets. -
Choisissez l'onglet Qualité des données.
-
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.
-
Dans la fenêtre modale, choisissez votre rôle IAM. Ce rôle doit être autorisé à accéder aux ressources dont les différents processus de AWS Glue Data Quality ont besoin pour être exécutés 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.
-
Dans Actions relatives à la qualité des données, choisissez si vous souhaitez publier des mesures sur Amazon CloudWatch. Lorsque cette option est sélectionnée, AWS Glue Data Quality publie des mesures qui indiquent le nombre de règles passé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 CloudWatch des alarmes. Des indicateurs clés sont également publiés Amazon EventBridge pour vous permettre de configurer des alertes. Pour plus d'informations, consultez Setting up alerts, deployments, and scheduling.
-
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.
-
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.
-
Dans Configurations supplémentaires, entrez le nombre de travailleurs que vous souhaitez que AWS Glue affecte à votre tâche de qualité des données.
-
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.
-
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.
-
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
-
Dans la console AWS Glue, choisissez Tables dans le volet de navigation. Choisissez ensuite la table pour laquelle vous souhaitez exécuter une tâche liée à la qualité des données.
-
Choisissez l'onglet Qualité des données.
-
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.
-
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
-
Dans la console AWS Glue, choisissez Tables dans le volet de navigation. Choisissez ensuite la table pour laquelle vous souhaitez exécuter une tâche liée à la qualité des données.
-
Choisissez l'onglet Qualité des données.
-
Dans le tableau Qualité des données, choisissez un ensemble de règles spécifique.
-
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.
-
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.
Utilisation de requêtes de prétraitement
AWS Glue Data Quality prend en charge les requêtes de prétraitement qui vous permettent de transformer vos données avant d'effectuer des contrôles de qualité des données. Cette fonctionnalité vous permet de :
-
Créez des colonnes dérivées pour la validation de la qualité des données.
-
Filtrez les données en fonction de conditions spécifiques.
-
Effectuez des calculs ou des transformations pour les contrôles de qualité.
-
Validez les relations entre les colonnes.
Note
Cette fonctionnalité n'est prise en charge que dans les API et n'est pas prise en charge via la console.
Utilisation de requêtes de prétraitement avec la CLI et le SDK
Exécution des recommandations
Les exemples suivants montrent comment utiliser des requêtes de prétraitement avec des exécutions de recommandations.
AWS CLI :
aws glue start-data-quality-rule-recommendation-run \ --data-source '{"DataQualityGlueTable": { \ "DatabaseName": "mydatabase", \ "TableName": "mytable", \ "PreProcessingQuery": "SELECT sepal_length, sepal_width, petal_length, petal_width, class, (sepal_length + sepal_width) as sepal_total FROM `mydatabase.mytable`" \ }}' \ --role "arn:aws:iam::123456789012:role/GlueDataQualityRole" \ --created-ruleset-name "my-ruleset-with-preprocessing"
Kit de développement logiciel Java :
StartDataQualityRuleRecommendationRunRequest request = new StartDataQualityRuleRecommendationRunRequest() .withDataSource(new DataSource() .withDataQualityGlueTable(new DataQualityGlueTable() .withDatabaseName("mydatabase") .withTableName("mytable") .withPreProcessingQuery("SELECT sepal_length, sepal_width, " + "(sepal_length + sepal_width) as sepal_total " + "FROM `mydatabase.mytable`"))) .withRole("arn:aws:iam::123456789012:role/GlueDataQualityRole") .withCreatedRulesetName("my-ruleset-with-preprocessing"); glueClient.startDataQualityRuleRecommendationRun(request);
Exécutions d'évaluation de l'ensemble de règles
Les exemples suivants montrent comment utiliser des requêtes de prétraitement avec des exécutions d'évaluation d'ensembles de règles.
AWS CLI :
aws glue start-data-quality-ruleset-evaluation-run \ --data-source '{"DataQualityGlueTable": { \ "DatabaseName": "mydatabase", \ "TableName": "mytable", \ "PreProcessingQuery": "SELECT order_id, amount, (tax + shipping) as total_fees FROM `mydatabase.mytable`" \ }}' \ --role "arn:aws:iam::123456789012:role/GlueDataQualityRole" \ --ruleset-names '["my-ruleset"]'
Kit de développement logiciel Java :
StartDataQualityRulesetEvaluationRunRequest request = new StartDataQualityRulesetEvaluationRunRequest() .withDataSource(new DataSource() .withDataQualityGlueTable(new DataQualityGlueTable() .withDatabaseName("mydatabase") .withTableName("mytable") .withPreProcessingQuery("SELECT order_id, amount, " + "(tax + shipping) as total_fees " + "FROM `mydatabase.mytable`"))) .withRole("arn:aws:iam::123456789012:role/GlueDataQualityRole") .withRulesetNames(Arrays.asList("my-ruleset")); glueClient.startDataQualityRulesetEvaluationRun(request);
Considérations relatives à la création de requêtes de prétraitement
Lors de la rédaction d'une requête de prétraitement :
-
La référence du tableau doit être mise en forme en
`databaseName.tableName`utilisant des backticks. -
La requête doit être une instruction SELECT valide.
-
Les noms de colonnes du résultat de la requête seront utilisés pour les règles de qualité des données.
L'exemple suivant illustre une requête de prétraitement :
SELECT sepal_length, sepal_width, petal_length, petal_width, class, (sepal_length + sepal_width) as sepal_total FROM `mydatabase.mytable`
Limitations
-
La requête doit référencer le tableau à l'aide de backticks et du
`databaseName.tableName`format complet. -
La longueur maximale de la requête est de 51 200 caractères.
-
La requête doit renvoyer au moins une ligne de données.
-
Toutes les colonnes référencées dans votre ensemble de règles doivent être présentes dans le résultat de la requête.
Types de sources pris en charge
| Type de table | AWS Lake Formation - Accès à toutes les tables | AWS Lake Formation Activé avec des colonnes | AWS Lake Formation Activé avec les filtres de données | Cross-Account AWS Lake Formation Assistance - Accès à toutes les tables | AWS Lake Formation Désactivé |
|---|---|---|---|---|---|
| Parquet | Pris en charge | Non pris en charge | Non pris en charge | Pris en charge | Pris en charge |
| ORC | Pris en charge | Non pris en charge | Non pris en charge | Pris en charge | Pris en charge |
| CSV, JSON, TSV | Pris en charge | Non pris en charge | Non pris en charge | Pris en charge | Pris en charge |
| Avro | Pris en charge | Non pris en charge | Non pris en charge | Pris en charge | Pris en charge |
| JSON | Pris en charge | Non pris en charge | Non pris en charge | Pris en charge | Pris en charge |
| Iceberg | Pris en charge | Non pris en charge | Non pris en charge | Pris en charge | Pris en charge |
| Amazon Athena voir | Pris en charge | Non pris en charge | Non pris en charge | Pris en charge | Pris en charge |
| Vue du catalogue de données multidialectale protégée | Non pris en charge | Non pris en charge | Non pris en charge | Non pris en charge | Non pris en charge |
| HUDI | Non pris en charge | Non pris en charge | Non pris en charge | Non pris en charge | Pris en charge |
| Delta | Non pris en charge | Non pris en charge | Non pris en charge | Non pris en charge | Pris en charge |
| RMS | Pris en charge* | Pris en charge* | Pris en charge* | Non pris en charge | Non pris en charge |
| Tableaux Amazon S3 | Pris en charge* | Non pris en charge | Non pris en charge | Non applicable | Pris en charge |
| Amazon RDS et Amazon Aurora | Non applicable | Ne s’applique pas | Ne s’applique pas | Non applicable | Non pris en charge |
| JDBC | Non applicable | Ne s’applique pas | Ne s’applique pas | Non applicable | Pris en charge |
* La prise en charge des tables Amazon S3 et de SageMaker Lakehouse dans AWS Glue Console n'est pas prise en charge. Actuellement, les exécutions de recommandations de tables Amazon S3 et SageMaker Lakehouse Data Catalog et les exécutions d'évaluation de la qualité des données du catalogue de données ne sont prises en charge que via l'interface de ligne de commande.
Amazon Athena voir le support
AWS Glue Data Quality prend en charge la recommandation de règles et les cycles d'évaluation pour les Amazon Athena vues créées à l'aide du catalogue de données CREATE VIEW et stockées dans celui-ci. Same-account, les vues multicomptes et les Amazon Athena vues imbriquées sont prises en charge.
AWS Glue Data Quality évalue une Amazon Athena vue à l'aide des autorisations du rôle IAM que vous fournissez pour l'exécution de la qualité des données. Accordez à ce rôle l'accès à la vue et à toutes les tables, partitions, emplacements de données et clés de chiffrement sous-jacents auxquels la vue fait référence. Pour les vues multicomptes, configurez les autorisations AWS Glue AWS Lake Formation, Amazon S3 et AWS KMS les autorisations requises dans chaque compte participant. Si vous utilisez des liens vers des ressources, configurez-les dans le compte qui exécute AWS Glue Data Quality.
Prenez en compte les restrictions suivantes :
-
Les vues protégées du catalogue de données multi-dialectes ne sont pas prises en charge.
-
Une chaîne de dépendance de Amazon Athena vues peut avoir jusqu'à 100 niveaux de profondeur, y compris la vue sélectionnée. AWS Glue Data Quality résout les vues imbriquées requises pour créer la vue sélectionnée. Il exécute ensuite la recommandation ou l'évaluation une fois par rapport aux données renvoyées par la vue sélectionnée, plutôt que séparément pour chaque vue sous-jacente.
-
Chaque table physique référencée par une vue doit utiliser un type de source pris en charge par AWS Glue Data Quality.
-
La requête de vue doit utiliser une syntaxe et des fonctions SQL compatibles avec le runtime SQL de AWS Glue Spark.
-
Les prédicats de partition de catalogue ne sont pas pris en charge pour les sources de vues.
Autres restrictions connues
-
Tableaux Delta Lake Symlink : non pris en charge pour les séries de recommandations de AWS Glue Data Quality ou les séries d'évaluation de la qualité des données du catalogue de données.
-
Publication d'actifs de tables Amazon S3 dans SageMaker Unified Studio : Actuellement, la publication de tables Amazon S3 en tant qu'actifs dans SageMaker Unified Studio n'est pas disponible ; la visualisation des exécutions d'Amazon S3 Table Data Quality n'est donc pas disponible dans SageMaker Unified Studio.