Cette page explique comment créer une analyse de la qualité des données Dataplex Universal Catalog.
Pour en savoir plus sur les analyses de la qualité des données, consultez À propos de la qualité automatique des données.
Avant de commencer
-
Enable the Dataplex API.
- Facultatif : Si vous souhaitez que Dataplex Universal Catalog génère des recommandations pour les règles de qualité des données en fonction des résultats d'une analyse de profilage des données, créez et exécutez l'analyse de profilage des données.
Rôles requis
Pour exécuter une analyse de la qualité des données sur une table BigQuery, vous devez disposer de l'autorisation de lire la table BigQuery et de créer un job BigQuery dans le projet utilisé pour analyser la table.
Si la table BigQuery et l'analyse de la qualité des données se trouvent dans des projets différents, vous devez attribuer au compte de service Dataplex Universal Catalog du projet contenant l'analyse de la qualité des données l'autorisation de lecture pour la table BigQuery correspondante.
Si les règles de qualité des données font référence à d'autres tables, le compte de service du projet d'analyse doit disposer des autorisations de lecture sur ces mêmes tables.
Pour obtenir les autorisations nécessaires pour exporter les résultats de l'analyse vers une table BigQuery, demandez à votre administrateur d'accorder au compte de service Dataplex Universal Catalog le rôle IAM Éditeur de données BigQuery (
roles/bigquery.dataEditor
) sur l'ensemble de données et la table de résultats. Ces rôles comportent les autorisations suivantes :bigquery.datasets.get
bigquery.tables.create
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.update
bigquery.tables.updateData
Si les données BigQuery sont organisées dans un lac Dataplex Universal Catalog, accordez au compte de service Dataplex Universal Catalog les rôles IAM Lecteur de métadonnées Dataplex (
roles/dataplex.metadataReader
) et Lecteur Dataplex (roles/dataplex.viewer
). Sinon, vous devez disposer de toutes les autorisations suivantes :dataplex.lakes.list
dataplex.lakes.get
dataplex.zones.list
dataplex.zones.get
dataplex.entities.list
dataplex.entities.get
dataplex.operations.get
Si vous analysez une table externe BigQuery à partir de Cloud Storage, accordez au compte de service Dataplex Universal Catalog le rôle Lecteur des objets Storage (
roles/storage.objectViewer
) pour le bucket. Vous pouvez également attribuer les autorisations suivantes au compte de service Dataplex Universal Catalog :storage.buckets.get
storage.objects.get
Si vous souhaitez publier les résultats de l'analyse de la qualité des données en tant que métadonnées Dataplex Universal Catalog, vous devez disposer du rôle IAM Éditeur de données BigQuery (
roles/bigquery.dataEditor
) pour la table et de l'autorisationdataplex.entryGroups.useDataQualityScorecardAspect
sur le groupe d'entrées@bigquery
au même emplacement que la table. Vous pouvez également vous voir attribuer le rôle Éditeur de catalogue Dataplex (roles/dataplex.catalogEditor
) pour le groupe d'entrées@bigquery
au même emplacement que la table.Sinon, vous devez disposer de toutes les autorisations suivantes :
bigquery.tables.update
: sur la tabledataplex.entryGroups.useDataQualityScorecardAspect
sur le groupe d'entrées@bigquery
Ou de toutes les autorisations suivantes :
dataplex.entries.update
: sur le groupe d'entrées@bigquery
dataplex.entryGroups.useDataQualityScorecardAspect
sur le groupe d'entrées@bigquery
Si vous devez accéder à des colonnes protégées par des règles d'accès BigQuery au niveau des colonnes, attribuez les autorisations correspondantes au compte de service Dataplex Universal Catalog. L'utilisateur qui crée ou met à jour une analyse des données doit également disposer des autorisations pour les colonnes.
Si des règles d'accès BigQuery au niveau des lignes sont activées pour une table, vous ne pouvez analyser que les lignes visibles par le compte de service Dataplex Universal Catalog. Notez que les droits d'accès de chaque utilisateur ne sont pas évalués pour les règles au niveau des lignes.
Rôles requis pour l'analyse des données
Pour utiliser la qualité des données automatique, demandez à votre administrateur de vous accorder l'un des rôles IAM suivants :
- Accès complet aux ressources
DataScan
: administrateur Dataplex DataScan (roles/dataplex.dataScanAdmin
) - Pour créer des ressources
DataScan
: créateur Dataplex DataScan (roles/dataplex.dataScanCreator
) sur le projet - Accès en écriture aux ressources
DataScan
: éditeur Dataplex DataScan (roles/dataplex.dataScanEditor
) - Accès en lecture aux ressources
DataScan
, à l'exception des règles et des résultats : lecteur Dataplex DataScan (roles/dataplex.dataScanViewer
) - Accès en lecture aux ressources
DataScan
, y compris les règles et les résultats : lecteur de données Dataplex DataScan (roles/dataplex.dataScanDataViewer
)
Le tableau suivant répertorie les autorisations DataScan
:
Nom de l'autorisation | Accorde l'autorisation d'effectuer les opérations suivantes : |
---|---|
dataplex.datascans.create |
Créer un DataScan |
dataplex.datascans.delete |
Supprimer un DataScan |
dataplex.datascans.get |
Afficher les métadonnées opérationnelles telles que l'ID ou le calendrier, mais pas les résultats ni les règles |
dataplex.datascans.getData |
Afficher les détails du DataScan , y compris les règles et les résultats |
dataplex.datascans.list |
Lister les analyses DataScan |
dataplex.datascans.run |
Exécuter un DataScan |
dataplex.datascans.update |
Mettre à jour la description d'une analyse DataScan |
dataplex.datascans.getIamPolicy |
Afficher les autorisations IAM actuelles sur l'analyse |
dataplex.datascans.setIamPolicy |
Définir les autorisations IAM sur l'analyse |
Définir des règles de qualité des données
Vous pouvez définir des règles de qualité des données à l'aide de règles intégrées ou de contrôles SQL personnalisés. Si vous utilisez la Google Cloud CLI, vous pouvez définir ces règles dans un fichier JSON ou YAML.
Les exemples des sections suivantes montrent comment définir différentes règles de qualité des données. Les règles valident un exemple de table contenant des données sur les transactions des clients. La table présente le schéma suivant :
Nom de la colonne | Type de colonne | Description de la colonne |
---|---|---|
transaction_timestamp | Code temporel | Code temporel de la transaction. La table est partitionnée en fonction de ce champ. |
customer_id | Chaîne | Un numéro client contenant huit lettres suivies de 16 chiffres. |
transaction_id | Chaîne | L'ID de transaction doit être unique dans la table. |
currency_id | Chaîne | L'une des devises acceptées. Le type de devise doit correspondre à l'une des devises disponibles dans la table de dimensions dim_currency .
|
amount | Nombre à virgule flottante | Montant de la transaction. |
discount_pct | Nombre à virgule flottante | Pourcentage de remise. Cette valeur doit être comprise entre 0 et 100. |
Définir des règles de qualité des données à l'aide de types de règles intégrés
Les exemples de règles suivants sont basés sur des types de règles intégrés. Vous pouvez créer des règles basées sur des types de règles intégrés à l'aide de la console Google Cloud ou de l'API. Dataplex Universal Catalog peut recommander certaines de ces règles.
Nom de la colonne | Type de règle | Dimension suggérée | Paramètres de la règle |
---|---|---|---|
transaction_id |
Vérification de l'originalité | Unicité | Seuil : Not Applicable |
amount |
Contrôle des valeurs nulles | Exhaustivité | Seuil : 100% |
customer_id |
Contrôle des expressions régulières | Validité | Expression régulière : ^[0-9]{8}[a-zA-Z]{16}$ Seuil : 100%
|
currency_id |
Vérification de la valeur définie | Validité | Ensemble : USD,JPY,INR,GBP,CAN Seuil : 100%
|
Définir des règles de qualité des données à l'aide de règles SQL personnalisées
Pour créer des règles SQL personnalisées, utilisez le framework suivant :
Lorsque vous créez une règle qui évalue une ligne à la fois, créez une expression qui génère le nombre de lignes réussies lorsque Dataplex Universal Catalog évalue la requête
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE
. Dataplex Universal Catalog compare le nombre de lignes réussies au seuil.Lorsque vous créez une règle qui évalue les lignes ou utilise une condition de table, créez une expression qui renvoie un résultat de succès ou d'échec lorsque Dataplex Universal Catalog évalue la requête
SELECT IF(CUSTOM_SQL_EXPRESSION) FROM TABLE
.Lorsque vous créez une règle qui évalue l'état non valide d'un ensemble de données, fournissez une instruction qui renvoie les lignes non valides. Si des lignes sont renvoyées, la règle échoue. Omettez le point-virgule de fin de l'instruction SQL.
Vous pouvez faire référence à une table de source de données et à tous ses filtres de préconditions en utilisant le paramètre de référence de données
${data()}
dans une règle, au lieu de mentionner explicitement la table source et ses filtres. Les filtres de préconditions incluent, par exemple, les filtres de lignes, les pourcentages d'échantillonnage et les filtres incrémentaux. Le paramètre${data()}
est sensible à la casse.
Les exemples de règles suivants sont basés sur des règles SQL personnalisées.
Type de règle | Description de la règle | Expression SQL |
---|---|---|
Condition de ligne | Vérifie si la valeur de discount_pct est comprise entre 0 et 100.
|
0 < discount_pct AND discount_pct < 100
|
Condition de ligne | Vérifie que currency_id fait partie des devises acceptées.
|
currency_id in (select id from my_project_id.dim_dataset.dim_currency)
|
Condition de table | Expression SQL agrégée qui vérifie si la moyenne discount_pct est comprise entre 30 et 50 %.
|
30<avg(discount) AND avg(discount) <50
|
Condition de ligne | Vérifie si une date n'est pas dans le futur. | TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
|
Condition de table |
Fonction définie par l'utilisateur BigQuery (UDF, user-defined function) pour vérifier que le montant moyen des transactions est inférieur à une valeur prédéfinie par pays. Créez la UDF (JavaScript) en exécutant la commande suivante :
CREATE OR REPLACE FUNCTION myProject.myDataset.average_by_country ( country STRING, average FLOAT64) RETURNS BOOL LANGUAGE js AS R""" if (country = "CAN" && average < 5000){ return 1 } else if (country = "IND" && average < 1000){ return 1 } else { return 0 } """; |
Exemple de règle permettant de vérifier le montant moyen des transactions pour country=CAN .
myProject.myDataset.average_by_country( "CAN", (SELECT avg(amount) FROM myProject.myDataset.transactions_table WHERE currency_id = 'CAN' )) |
Condition de table | Clause de prédiction BigQuery ML permettant d'identifier les anomalies dans discount_pct . Elle vérifie si une remise doit être appliquée en fonction de customer , currency et transaction . La règle vérifie si la prédiction correspond à la valeur réelle au moins 99 % du temps. Hypothèse : le modèle de ML est créé avant l'utilisation de la règle. Créez le modèle de ML à l'aide de la commande suivante :
CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
La règle suivante vérifie si la précision de la prédiction est supérieure à 99 %.
SELECT accuracy > 0.99 FROM ML.EVALUATE (MODEL model-project-id.dataset-id.model-name, ( SELECT customer_id, currency_id, amount, discount_pct FROM data-project-id.dataset-id.table-names WHERE transaction_timestamp > '2022-01-01'; ) ) |
Condition de ligne | Fonction de prédiction BigQuery ML permettant d'identifier les anomalies dans discount_pct . Elle vérifie si une remise doit être appliquée en fonction de customer , currency et transaction .
La règle identifie toutes les occurrences où la prédiction ne correspond pas.
Hypothèse : le modèle de ML est créé avant l'utilisation de la règle. Créez le modèle de ML à l'aide de la commande suivante :
CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
La règle suivante vérifie si la prédiction de remise correspond à la remise réelle pour chaque ligne.
IF(discount_pct > 0, 1, 0) =(SELECT predicted_label FROM ML.PREDICT( MODEL model-project-id.dataset-id.model-name, ( SELECT customer_id, currency_id, amount, discount_pct FROM data-project-id.dataset-id.table-names AS t WHERE t.transaction_timestamp = transaction_timestamp LIMIT 1 ) ) ) |
Assertion SQL | Valide si discount_pct est supérieur à 30 % pour la journée en cours en vérifiant s'il existe des lignes avec un pourcentage de remise inférieur ou égal à 30. |
SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date() |
Assertion SQL (avec paramètre de référence de données) | Vérifie si Le filtre de date Le paramètre de référence de données |
SELECT * FROM ${data()} WHERE discount_pct > 30 |
Définir des règles de qualité des données à l'aide de la gcloud CLI
L'exemple de fichier YAML suivant utilise certaines des mêmes règles que les exemples de règles utilisant des types intégrés et les exemples de règles SQL personnalisées. Ce fichier YAML contient également d'autres spécifications pour l'analyse de la qualité des données, telles que les filtres et le pourcentage d'échantillonnage. Lorsque vous utilisez la gcloud CLI pour créer ou mettre à jour une analyse de la qualité des données, vous pouvez utiliser un fichier YAML comme celui-ci comme entrée pour l'argument --data-quality-spec-file
.
rules:
- uniquenessExpectation: {}
column: transaction_id
dimension: UNIQUENESS
- nonNullExpectation: {}
column: amount
dimension: COMPLETENESS
threshold: 1
- regexExpectation:
regex: '^[0-9]{8}[a-zA-Z]{16}$'
column : customer_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- setExpectation :
values :
- 'USD'
- 'JPY'
- 'INR'
- 'GBP'
- 'CAN'
column : currency_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rangeExpectation:
minValue : '0'
maxValue : '100'
column : discount_pct
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rowConditionExpectation:
sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
column: discount_pct
dimension: VALIDITY
threshold: 1
- rowConditionExpectation:
sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
column: currency_id
dimension: VALIDITY
threshold: 1
- tableConditionExpectation:
sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
dimension: VALIDITY
- rowConditionExpectation:
sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
column: transaction_timestamp
dimension: VALIDITY
threshold: 1
- sqlAssertion:
sqlStatement : SELECT * FROM `my_project_id.dim_dataset.dim_currency` WHERE discount_pct > 100
dimension: VALIDITY
samplingPercent: 50
rowFilter: discount_pct > 100
postScanActions:
bigqueryExport:
resultsTable: projects/my_project_id/datasets/dim_dataset/tables/dim_currency
notificationReport:
recipients:
emails:
- '222larabrown@gmail.com'
- 'cloudysanfrancisco@gmail.com'
scoreThresholdTrigger:
scoreThreshold: 50
jobFailureTrigger: {}
jobEndTrigger: {}
catalogPublishingEnabled: true
Créer une analyse de qualité des données
Console
Dans la console Google Cloud , accédez à la page Qualité et profilage des données de Dataplex Universal Catalog.
Cliquez sur Créer une analyse de la qualité des données.
Dans la fenêtre Définir l'analyse, renseignez les champs suivants :
Facultatif : Saisissez un nom à afficher.
Saisissez un ID. Consultez les conventions d'attribution de noms aux ressources.
Facultatif : saisissez une description.
Dans le champ Table, cliquez sur Parcourir. Choisissez la table à analyser, puis cliquez sur Sélectionner. Seules les tables BigQuery standards sont acceptées.
Pour les tables des ensembles de données multirégionaux, choisissez une région dans laquelle créer l'analyse de données.
Pour parcourir les tables organisées dans les lacs Dataplex Universal Catalog, cliquez sur Parcourir les lacs Dataplex.
Dans le champ Champ d'application, sélectionnez Incrémentiel ou Intégralité des données.
- Si vous choisissez Incrémentiel : dans le champ Colonne de code temporel, sélectionnez une colonne de type
DATE
ouTIMESTAMP
dans votre table BigQuery qui augmente à mesure que de nouveaux enregistrements sont ajoutés et qui permet d'identifier de nouveaux enregistrements. Il peut s'agir d'une colonne qui partitionne la table.
- Si vous choisissez Incrémentiel : dans le champ Colonne de code temporel, sélectionnez une colonne de type
Pour filtrer vos données, cochez la case Filtrer les lignes. Fournissez un filtre de ligne constitué d'une expression SQL valide pouvant être utilisée dans une clause
WHERE
en syntaxe GoogleSQL. Par exemple,col1 >= 0
. Le filtre peut être une combinaison de plusieurs conditions de colonne. Par exemple,col1 >= 0 AND col2 < 10
.Pour échantillonner vos données, sélectionnez un pourcentage d'échantillonnage dans la liste Taille d'échantillonnage. Choisissez un pourcentage compris entre 0,0 et 100,0 %, avec un maximum de trois chiffres après la virgule. Pour les ensembles de données plus volumineux, choisissez un pourcentage d'échantillonnage plus faible. Par exemple, pour une table de 1 Po, si vous saisissez une valeur comprise entre 0,1 et 1 %, l'analyse de la qualité des données échantillonne entre 1 et 10 To de données. Pour les analyses de données incrémentielles, l'analyse de la qualité des données applique l'échantillonnage au dernier incrément.
Pour publier les résultats de l'analyse de la qualité des données en tant que métadonnées Dataplex Universal Catalog, cochez la case Publier les résultats dans BigQuery et Dataplex Catalog.
Vous pouvez consulter les derniers résultats de l'analyse dans l'onglet Qualité des données des pages BigQuery et Dataplex Universal Catalog pour la table source. Pour permettre aux utilisateurs d'accéder aux résultats d'analyse publiés, consultez la section Accorder l'accès aux résultats d'analyse de profil de données de ce document.
Dans la section Programmation, choisissez l'une des options suivantes :
Répéter : exécutez l'analyse de la qualité des données selon une planification horaire, quotidienne, hebdomadaire, mensuelle ou personnalisée. Spécifiez la fréquence et l'heure d'exécution de l'analyse. Si vous choisissez "Personnalisée", utilisez le format cron pour spécifier la planification.
À la demande : exécutez l'analyse de la qualité des données à la demande.
Cliquez sur Continuer.
Dans la fenêtre Règles sur la qualité des données, définissez les règles à configurer pour cette analyse de la qualité des données.
Cliquez sur Ajouter des règles, puis sélectionnez l'une des options suivantes.
Recommandations basées sur les profils : créez des règles à partir des recommandations basées sur une analyse de profilage des données existante.
Sélectionner des colonnes : sélectionnez les colonnes pour lesquelles vous souhaitez obtenir des règles recommandées.
Sélectionner un projet d'analyse : si l'analyse de profilage des données se trouve dans un projet différent de celui dans lequel vous créez l'analyse de la qualité des données, sélectionnez le projet à partir duquel extraire les analyses de profilage.
Sélectionner des résultats de profil : sélectionnez un ou plusieurs résultats de profil, puis cliquez sur OK. Une liste de règles suggérées s'affiche. Vous pouvez l'utiliser comme point de départ.
Cochez les cases correspondant aux règles que vous souhaitez ajouter, puis cliquez sur Sélectionner. Une fois sélectionnées, les règles sont ajoutées à votre liste de règles actuelle. Vous pouvez ensuite modifier les règles.
Types de règles intégrés : créez des règles à partir de règles prédéfinies. Consultez la liste des règles prédéfinies.
Sélectionner des colonnes : sélectionnez les colonnes pour lesquelles vous souhaitez sélectionner des règles.
Choisir les types de règles : sélectionnez les types de règles que vous souhaitez choisir, puis cliquez sur OK. Les types de règles qui s'affichent dépendent des colonnes que vous avez sélectionnées.
Cochez les cases correspondant aux règles que vous souhaitez ajouter, puis cliquez sur Sélectionner. Une fois sélectionnées, les règles sont ajoutées à votre liste de règles actuelle. Vous pouvez ensuite modifier les règles.
Règle de vérification des lignes SQL : créez une règle SQL personnalisée à appliquer à chaque ligne.
Dans Dimension, choisissez une dimension.
Dans Seuil de réussite, choisissez le pourcentage d'enregistrements qui doivent réussir le contrôle.
Dans Nom de la colonne, sélectionnez une colonne.
Dans le champ Fournissez une expression SQL, saisissez une expression SQL qui renvoie la valeur booléenne
true
(succès) oufalse
(échec). Pour en savoir plus, consultez Types de règles SQL personnalisées compatibles et les exemples de la section Définir des règles de qualité des données.Cliquez sur Ajouter.
Règle de vérification des agrégations SQL : créez une règle de condition de table SQL personnalisée.
Dans Dimension, choisissez une dimension.
Dans Nom de la colonne, sélectionnez une colonne.
Dans le champ Fournissez une expression SQL, saisissez une expression SQL qui renvoie la valeur booléenne
true
(succès) oufalse
(échec). Pour en savoir plus, consultez Types de règles SQL personnalisées compatibles et les exemples de la section Définir des règles de qualité des données.Cliquez sur Ajouter.
Règle d'assertion SQL : créez une règle d'assertion SQL personnalisée pour vérifier si les données sont dans un état non valide.
Dans Dimension, choisissez une dimension.
Facultatif : dans Nom de la colonne, sélectionnez une colonne.
Dans le champ Fournissez une instruction SQL, saisissez une instruction SQL qui renvoie les lignes correspondant à l'état non valide. Si des lignes sont renvoyées, cette règle échoue. Omettez le point-virgule de fin de l'instruction SQL. Pour en savoir plus, consultez Types de règles SQL personnalisées compatibles et les exemples de la section Définir des règles de qualité des données.
Cliquez sur Ajouter.
Facultatif : Pour toute règle de qualité des données, vous pouvez attribuer un nom personnalisé à utiliser pour la surveillance et les alertes, ainsi qu'une description. Pour ce faire, modifiez une règle et spécifiez les informations suivantes :
- Nom de la règle : saisissez un nom de règle personnalisé de 63 caractères maximum. Le nom de la règle peut inclure des lettres (a-z, A-Z), des chiffres (0-9) et des traits d'union (-). Il doit commencer par une lettre et se terminer par un chiffre ou une lettre.
- Description : saisissez une description de la règle de 1 024 caractères maximum.
Répétez les étapes précédentes pour ajouter d'autres règles à l'analyse de la qualité des données. Lorsque vous avez terminé, cliquez sur Continuer.
Facultatif : exportez les résultats de l'analyse vers une table BigQuery standard. Dans la section Exporter les résultats d'analyse dans une table BigQuery, procédez comme suit :
Dans le champ Sélectionnez un ensemble de données BigQuery, cliquez sur Parcourir. Sélectionnez un ensemble de données BigQuery dans lequel stocker les résultats de l'analyse de la qualité des données.
Dans le champ Table BigQuery, spécifiez la table dans laquelle stocker les résultats de l'analyse de la qualité des données. Si vous utilisez une table existante, assurez-vous qu'elle est compatible avec le schéma de la table d'exportation. Si la table spécifiée n'existe pas, Dataplex Universal Catalog la crée pour vous.
Facultatif : ajoutez des étiquettes. Les étiquettes sont des paires clé/valeur qui vous permettent de regrouper des objets associés ou de les combiner à d'autres Google Cloud ressources.
Facultatif : configurez des rapports de notification par e-mail pour informer les utilisateurs de l'état et des résultats d'un job d'analyse de la qualité des données. Dans la section Rapport de notification, cliquez sur
Ajouter un ID d'adresse e-mail et saisissez jusqu'à cinq adresses e-mail. Sélectionnez ensuite les scénarios pour lesquels vous souhaitez envoyer des rapports :- Niveau de qualité (<=) : envoie un rapport lorsqu'un job réussit avec un niveau de qualité des données inférieur au niveau cible spécifié. Saisissez un score de qualité cible compris entre 0 et 100.
- Échecs de jobs : envoie un rapport en cas d'échec du job lui-même, quels que soient les résultats de la qualité des données.
- Achèvement de jobs (réussite ou échec) : envoie un rapport à la fin du job, quels que soient les résultats de la qualité des données.
Cliquez sur Créer.
Une fois l'analyse créée, vous pouvez l'exécuter à tout moment en cliquant sur Exécuter maintenant.
gcloud
Pour créer une analyse de la qualité des données, utilisez la commande gcloud dataplex datascans create data-quality
.
Si les données source sont organisées dans un lac Dataplex Universal Catalog, incluez l'indicateur --data-source-entity
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
Si les données source ne sont pas organisées dans un lac Dataplex Universal Catalog, incluez l'indicateur --data-source-resource
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
Remplacez les variables suivantes :
DATASCAN
: nom de l'analyse de la qualité des données.LOCATION
: région Google Cloud dans laquelle créer l'analyse de la qualité des données.DATA_QUALITY_SPEC_FILE
: chemin d'accès au fichier JSON ou YAML contenant les spécifications de l'analyse de la qualité des données. Il peut s'agir d'un fichier local ou d'un chemin d'accès Cloud Storage avec le préfixegs://
. Utilisez ce fichier pour spécifier les règles de qualité des données pour l'analyse. Vous pouvez également spécifier des informations supplémentaires dans ce fichier, telles que des filtres, un pourcentage d'échantillonnage et des actions post-analyse (par exemple, l'exportation vers BigQuery ou l'envoi de rapports de notification par e-mail). Consultez la documentation sur la représentation JSON et l'exemple de représentation YAML.DATA_SOURCE_ENTITY
: entité Dataplex Universal Catalog contenant les données pour l'analyse de la qualité des données. Exemple :projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity
.DATA_SOURCE_RESOURCE
: nom de la ressource contenant les données pour l'analyse de la qualité des données. Exemple ://bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
.
REST
Pour créer une analyse de la qualité des données, utilisez la méthode dataScans.create
.
Si vous souhaitez créer des règles pour l'analyse de la qualité des données à l'aide de recommandations de règles basées sur les résultats d'une analyse de profilage des données, obtenez les recommandations en appelant la méthode dataScans.jobs.generateDataQualityRules
sur l'analyse de profilage des données.
Exporter le schéma de table
Pour exporter les résultats de l'analyse de la qualité des données vers une table BigQuery existante, assurez-vous qu'elle est compatible avec le schéma de table suivant :
Nom de la colonne | Type de données de la colonne | Nom du sous-champ (le cas échéant) |
Type de données du sous-champ | Mode | Exemple |
---|---|---|---|---|---|
data_quality_scan | struct/record |
resource_name |
string |
nullable | //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan |
project_id |
string |
nullable | dataplex-back-end-dev-project |
||
location |
string |
nullable | us-central1 |
||
data_scan_id |
string |
nullable | test-datascan |
||
data_source | struct/record |
resource_name |
string |
nullable | Cas d'entité ://dataplex.googleapis.com/projects/dataplex-back-end-dev-project/locations/europe-west2/lakes/a0-datascan-test-lake/zones/a0-datascan-test-zone/entities/table1 Cas de table : //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
|
dataplex_entity_project_id |
string |
nullable | dataplex-back-end-dev-project |
||
dataplex_entity_project_number |
integer |
nullable | 123456789 |
||
dataplex_lake_id |
string |
nullable | (Valide uniquement si la source est une entité)test-lake
|
||
dataplex_zone_id |
string |
nullable | (Valide uniquement si la source est une entité)test-zone |
||
dataplex_entity_id |
string |
nullable | (Valide uniquement si la source est une entité)test-entity |
||
table_project_id |
string |
nullable | test-project |
||
table_project_number |
integer |
nullable | 987654321 |
||
dataset_id |
string |
nullable | (Valide uniquement si la source est une table)test-dataset |
||
table_id |
string |
nullable | (Valide uniquement si la source est une table)test-table |
||
data_quality_job_id | string |
nullable | caeba234-cfde-4fca-9e5b-fe02a9812e38 |
||
data_quality_job_configuration | json |
trigger |
string |
nullable | ondemand /schedule |
incremental |
boolean |
nullable | true /false |
||
sampling_percent |
float |
nullable | (0-100)20.0 (indique 20 %) |
||
row_filter |
string |
nullable | col1 >= 0 AND col2 < 10 |
||
job_labels | json |
nullable | {"key1":value1} |
||
job_start_time | timestamp |
nullable | 2023-01-01 00:00:00 UTC |
||
job_end_time | timestamp |
nullable | 2023-01-01 00:00:00 UTC |
||
job_rows_scanned | integer |
nullable | 7500 |
||
rule_name | string |
nullable | test-rule |
||
rule_type | string |
nullable | Range Check |
||
rule_evaluation_type | string |
nullable | Per row |
||
rule_column | string |
nullable | Rule only attached to a certain column |
||
rule_dimension | string |
nullable | UNIQUENESS |
||
job_quality_result | struct/record |
passed |
boolean |
nullable | true /false |
score |
float |
nullable | 90.8 |
||
job_dimension_result | json |
nullable | {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
|
||
rule_threshold_percent | float |
nullable | (0,0 à 100,0)Rule-threshold-pct in API * 100 |
||
rule_parameters | json |
nullable | {min: 24, max:5345} |
||
rule_pass | boolean |
nullable | True |
||
rule_rows_evaluated | integer |
nullable | 7400 |
||
rule_rows_passed | integer |
nullable | 3 |
||
rule_rows_null | integer |
nullable | 4 |
||
rule_failed_records_query | string |
nullable | "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));" |
||
rule_assertion_row_count | integer |
nullable | 10 |
Lorsque vous configurez BigQueryExport pour un job d'analyse de la qualité des données, suivez ces consignes :
- Pour le champ
resultsTable
, utilisez le format suivant ://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}
. - Utilisez une table BigQuery standard.
- Si la table n'existe pas lorsque l'analyse est créée ou mise à jour, Dataplex Universal Catalog la crée pour vous.
- Par défaut, la table est partitionnée quotidiennement sur la colonne
job_start_time
. - Si vous souhaitez que la table soit partitionnée selon d'autres configurations ou si vous ne voulez pas la partition, recréez la table avec le schéma et les configurations requis, puis fournissez la table préalablement créée en tant que table de résultats.
- Assurez-vous que la table de résultats se trouve au même emplacement que la table source.
- Si VPC-SC est configuré dans le projet, la table de résultats doit se trouver dans le même périmètre VPC-SC que la table source.
- Si la table est modifiée lors de l'étape d'exécution de l'analyse, le job en cours d'exécution est exporté vers la table de résultats précédente et la modification de la table prend effet à partir du prochain job d'analyse.
- Ne modifiez pas le schéma de table. Si vous avez besoin de colonnes personnalisées, créez une vue sur la table.
- Pour réduire les coûts, définissez un délai d'expiration pour la partition en fonction de votre cas d'utilisation. Pour en savoir plus, découvrez comment définir le délai d'expiration de la partition.
Exécuter une analyse de la qualité des données
Console
Dans la console Google Cloud , accédez à la page Qualité et profilage des données de Dataplex Universal Catalog.
Cliquez sur l'analyse de la qualité des données à exécuter.
Cliquez sur Exécuter maintenant.
gcloud
Pour exécuter une analyse de la qualité des données, utilisez la commande gcloud dataplex datascans run
:
gcloud dataplex datascans run DATASCAN \ --location=LOCATION \
Remplacez les variables suivantes :
LOCATION
: région Google Cloud dans laquelle l'analyse de la qualité des données a été créée.DATASCAN
: nom de l'analyse de la qualité des données.
REST
Pour exécuter une analyse de la qualité des données, utilisez la méthode dataScans.run
.
Afficher les résultats de l'analyse de la qualité des données
Console
Dans la console Google Cloud , accédez à la page Qualité et profilage des données de Dataplex Universal Catalog.
Cliquez sur le nom d'une analyse de la qualité des données.
La section Présentation affiche des informations sur les jobs les plus récents, y compris la date d'exécution de l'analyse, le nombre d'enregistrements analysés dans chaque job, si tous les contrôles de qualité des données ont réussi, et s'il y a eu des échecs, le nombre de contrôles de qualité des données qui ont échoué.
La section Configuration de l'analyse de la qualité des données affiche des informations sur l'analyse.
Pour afficher des informations détaillées sur un job, comme les scores de qualité des données qui indiquent le pourcentage de règles réussies, les règles qui ont échoué et les journaux de job, cliquez sur l'onglet Historique des jobs. Cliquez ensuite sur un ID de job.
gcloud
Pour afficher les résultats d'un job d'analyse de la qualité des données, utilisez la commande gcloud dataplex datascans jobs describe
:
gcloud dataplex datascans jobs describe JOB \ --location=LOCATION \ --datascan=DATASCAN \ --view=FULL
Remplacez les variables suivantes :
JOB
: ID du job d'analyse de la qualité des données.LOCATION
: région Google Cloud dans laquelle l'analyse de la qualité des données a été créée.DATASCAN
: nom de l'analyse de la qualité des données à laquelle appartient le job.--view=FULL
: pour afficher le résultat du job d'analyse, spécifiezFULL
.
REST
Pour afficher les résultats d'une analyse de la qualité des données, utilisez la méthode dataScans.get
.
Afficher les résultats publiés
Si les résultats de l'analyse de la qualité des données sont publiés en tant que métadonnées Dataplex Universal Catalog, vous pouvez consulter les derniers résultats de l'analyse sur les pages BigQuery et Dataplex Universal Catalog de la consoleGoogle Cloud , dans l'onglet Qualité des données de la table source.
Dans la console Google Cloud , accédez à la page Rechercher de Dataplex Universal Catalog.
Recherchez la table, puis sélectionnez-la.
Cliquez sur l'onglet Qualité des données.
Les derniers résultats publiés s'affichent.
Afficher l'historique des résultats d'analyse
Dataplex Universal Catalog enregistre l'historique des analyses de la qualité des données des 300 derniers jobs ou de l'année écoulée, selon la première échéance.
Console
Dans la console Google Cloud , accédez à la page Qualité et profilage des données de Dataplex Universal Catalog.
Cliquez sur le nom d'une analyse de la qualité des données.
Cliquez sur l'onglet Historique des jobs.
L'onglet Historique des jobs fournit des informations sur les jobs passés, comme le nombre d'enregistrements analysés dans chaque job, l'état du job, l'heure à laquelle le job a été exécuté, et la réussite ou l'échec de chaque règle.
Pour afficher des informations détaillées sur un job, cliquez sur l'un des jobs de la colonne ID de job.
gcloud
Pour afficher l'historique des jobs d'analyse de la qualité des données, utilisez la commande gcloud dataplex datascans jobs list
:
gcloud dataplex datascans jobs list \ --location=LOCATION \ --datascan=DATASCAN \
Remplacez les variables suivantes :
LOCATION
: région Google Cloud dans laquelle l'analyse de la qualité des données a été créée.DATASCAN
: nom de l'analyse de la qualité des données pour laquelle afficher les jobs historiques.
REST
Pour afficher l'historique des jobs d'analyse de la qualité des données, utilisez la méthode dataScans.jobs.list
.
Accorder l'accès aux résultats de l'analyse de la qualité des données
Pour permettre aux utilisateurs de votre organisation d'afficher les résultats d'analyse, procédez comme suit :
Dans la console Google Cloud , accédez à la page Qualité et profilage des données de Dataplex Universal Catalog.
Cliquez sur l'analyse de la qualité des données dont vous souhaitez partager les résultats.
Cliquez sur l'onglet Autorisations.
Procédez comme suit :
- Pour accorder l'accès à un compte principal, cliquez sur Accorder l'accès. Accordez le rôle Lecteur de données Dataplex DataScan au compte principal associé.
- Pour supprimer l'accès d'un compte principal, sélectionnez celui pour lequel vous souhaitez supprimer le rôle Lecteur de données Dataplex DataScan. Cliquez sur > Supprimer l'accès, puis confirmez lorsque vous y êtes invité.
Définir des alertes dans Cloud Logging
Pour définir des alertes en cas d'échec de la qualité des données à l'aide des journaux dans Cloud Logging, procédez comme suit :
Console
Dans la console Google Cloud , accédez à l'explorateur de journaux de Cloud Logging.
Dans la fenêtre Requête, saisissez votre requête. Consultez des exemples de requêtes.
Cliquez sur Exécuter la requête.
Cliquez sur Créer une alerte. Un panneau latéral s'ouvre.
Saisissez le nom de votre règle d'alerte, puis cliquez sur Suivant.
Examinez la requête.
Cliquez sur le bouton Prévisualiser les journaux pour tester votre requête. Les journaux correspondant aux conditions s'affichent.
Cliquez sur Suivant.
Définissez le délai entre les notifications, puis cliquez sur Suivant.
Définissez qui doit être averti de l'alerte, puis cliquez sur Enregistrer pour créer la règle d'alerte.
Vous pouvez également configurer et modifier vos alertes en accédant à Monitoring > Alertes dans la consoleGoogle Cloud .
gcloud
Non compatible
REST
Pour savoir comment configurer des alertes dans Cloud Logging, consultez Créer une règle d'alerte basée sur les journaux à l'aide de l'API Monitoring.
Exemples de requêtes pour configurer des alertes au niveau du job ou de la dimension
Exemple de requête permettant de définir des alertes en cas d'échec de la qualité globale des données pour une analyse de la qualité des données :
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND NOT jsonPayload.dataQuality.passed=true
Exemple de requête permettant de définir des alertes en cas d'échec de la qualité des données pour une dimension (par exemple, l'unicité) d'une analyse de la qualité des données spécifique :
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND jsonPayload.dataQuality.dimensionPassed.UNIQUENESS=false
Exemple de requête permettant de configurer des alertes en cas d'échec de la qualité des données pour une table.
Définissez des alertes en cas d'échec de la qualité des données pour une table BigQuery qui n'est pas organisée dans un lac Dataplex Universal Catalog :
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="//bigquery.googleapis.com/projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Définissez des alertes en cas d'échec de la qualité des données pour une table BigQuery organisée dans un lac Dataplex Universal Catalog :
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Exemples de requêtes pour définir des alertes par règle
Exemple de requête permettant de définir des alertes pour toutes les règles de qualité des données en échec avec le nom de règle personnalisée spécifié pour une analyse de la qualité des données :
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.ruleName="custom-name" AND jsonPayload.result="FAILED"
Exemple de requête permettant de définir des alertes pour toutes les règles de qualité des données en échec d'un type d'évaluation spécifique pour une analyse de la qualité des données :
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.evalutionType="PER_ROW" AND jsonPayload.result="FAILED"
Exemple de requête permettant de définir des alertes pour toutes les règles de qualité des données en échec pour une colonne dans la table utilisée pour une analyse de la qualité des données :
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.column="CInteger" AND jsonPayload.result="FAILED"
Résoudre un échec de qualité des données
Pour chaque job avec des règles au niveau des lignes qui échouent, Dataplex Universal Catalog fournit une requête permettant d'obtenir les enregistrements ayant échoué. Exécutez cette requête pour afficher les enregistrements qui ne correspondaient pas à votre règle.
Console
Dans la console Google Cloud , accédez à la page Qualité et profilage des données de Dataplex Universal Catalog.
Cliquez sur le nom de l'analyse de la qualité des données dont vous souhaitez résoudre les enregistrements ayant échoué.
Cliquez sur l'onglet Historique des jobs.
Cliquez sur l'ID du job qui a identifié des échecs de qualité des données.
Dans la fenêtre des résultats du job qui s'ouvre, dans la section Règles, recherchez la colonne Requête d'obtention des enregistrements ayant échoué. Cliquez sur Copier la requête dans le presse-papiers pour la règle ayant échoué.
Exécutez la requête dans BigQuery pour afficher les enregistrements qui ont entraîné l'échec du job.
gcloud
Non compatible
REST
Pour obtenir le job qui a identifié des échecs de qualité des données, utilisez la méthode
dataScans.get
.Dans l'objet de réponse, le champ
failingRowsQuery
affiche la requête.Exécutez la requête dans BigQuery pour afficher les enregistrements qui ont entraîné l'échec du job.
Gérer les analyses de qualité des données pour une table spécifique
Les étapes décrites dans ce document expliquent comment gérer les analyses de profilage des données dans votre projet à l'aide de la page Qualité et profilage des données de Dataplex Universal Catalog dans la console Google Cloud .
Vous pouvez également créer et gérer des analyses de profil de données lorsque vous travaillez avec une table spécifique. Dans la console Google Cloud , sur la page Dataplex Universal Catalog de la table, utilisez l'onglet Qualité des données. Procédez comme suit :
Dans la console Google Cloud , accédez à la page Rechercher de Dataplex Universal Catalog.
Recherchez la table, puis sélectionnez-la.
Cliquez sur l'onglet Qualité des données.
Selon que la table dispose ou non d'une analyse de la qualité des données dont les résultats sont publiés en tant que métadonnées Dataplex Universal Catalog, vous pouvez interagir avec les analyses de la qualité des données de la table de différentes manières :
Les résultats de l'analyse de la qualité des données sont publiés : les derniers résultats de l'analyse s'affichent sur la page.
Pour gérer les analyses de la qualité des données pour ce tableau, cliquez sur Analyse de la qualité des données, puis sélectionnez l'une des options suivantes :
Créer une analyse : créez une analyse de la qualité des données. Pour en savoir plus, consultez la section Créer une analyse de la qualité des données de ce document. Lorsque vous créez une analyse à partir de la page d'informations d'une table, celle-ci est présélectionnée.
Exécuter : exécutez l'analyse.
Modifier la configuration de l'analyse : modifiez les paramètres, y compris le nom à afficher, les filtres et la planification.
Pour modifier les règles sur la qualité des données, cliquez sur l'onglet Qualité des données, puis sur l'onglet Règles. Cliquez sur Modifier les règles. Modifiez les règles, puis cliquez sur Enregistrer.
Gérer les autorisations d'analyse : contrôlez qui peut accéder aux résultats de l'analyse. Pour en savoir plus, consultez la section Accorder l'accès aux résultats de l'analyse de la qualité des données de ce document.
Afficher l'historique des résultats : affichez des informations détaillées sur les jobs d'analyse de la qualité des données précédents. Pour en savoir plus, consultez les sections Afficher les résultats d'analyse de qualité des données et Afficher l'historique des résultats d'analyse de ce document.
Afficher toutes les analyses : affichez la liste des analyses de qualité des données qui s'appliquent à cette table.
Les résultats de l'analyse de la qualité des données ne sont pas publiés : sélectionnez l'une des options suivantes :
Créer une analyse de la qualité des données : créez une analyse de la qualité des données. Pour en savoir plus, consultez la section Créer une analyse de la qualité des données de ce document. Lorsque vous créez une analyse à partir de la page d'informations d'une table, celle-ci est présélectionnée.
Afficher les analyses existantes : affichez la liste des analyses de qualité des données qui s'appliquent à cette table.
Mettre à jour une analyse de la qualité des données
Vous pouvez modifier différents paramètres d'une analyse de la qualité des données existante, comme le nom à afficher, les filtres, la planification et les règles de qualité des données.
Console
Dans la console Google Cloud , accédez à la page Qualité et profilage des données de Dataplex Universal Catalog.
Cliquez sur le nom d'une analyse de la qualité des données.
Pour modifier les paramètres, y compris le nom à afficher, les filtres et la planification, cliquez sur Modifier. Modifiez les valeurs, puis cliquez sur Enregistrer.
Pour modifier les règles sur la qualité des données, cliquez sur l'onglet Règles actuelles sur la page des détails de l'analyse. Cliquez sur Modifier les règles. Modifiez les règles, puis cliquez sur Enregistrer.
gcloud
Pour modifier la description d'une analyse de la qualité des données, utilisez la commande gcloud dataplex datascans update data-quality
:
gcloud dataplex datascans update data-quality DATASCAN \ --location=LOCATION \ --description=DESCRIPTION
Remplacez les éléments suivants :
DATASCAN
: nom de l'analyse de la qualité des données à mettre à jour.LOCATION
: région Google Cloud dans laquelle l'analyse de la qualité des données a été créée.DESCRIPTION
: nouvelle description de l'analyse de la qualité des données.
REST
Pour modifier une analyse de la qualité des données, utilisez la méthode dataScans.patch
.
Supprimer une analyse de la qualité des données
Console
Dans la console Google Cloud , accédez à la page Qualité et profilage des données de Dataplex Universal Catalog.
Cliquez sur l'analyse que vous souhaitez supprimer.
Cliquez sur Supprimer, puis confirmez l'opération lorsque vous y êtes invité.
gcloud
Pour supprimer une analyse de la qualité des données, utilisez la commande gcloud dataplex datascans delete
:
gcloud dataplex datascans delete DATASCAN \ --location=LOCATION \ --async
Remplacez les variables suivantes :
DATASCAN
: nom de l'analyse de la qualité des données à supprimer.LOCATION
: région Google Cloud dans laquelle l'analyse de la qualité des données a été créée.
REST
Pour supprimer une analyse de la qualité des données, utilisez la méthode dataScans.delete
.
Étape suivante
- Suivez un atelier de programmation pour utiliser l'assistance IA afin de faciliter la qualité des données programmatiques.
- Apprenez-en plus sur le profilage des données.
- Découvrez comment utiliser le profilage des données.
- Suivez un tutoriel pour gérer les règles de qualité des données en tant que code avec Terraform.