Utiliser la qualité des données automatique

Cette page explique comment créer une analyse de la qualité des données Dataplex.

Pour en savoir plus sur les analyses de qualité des données, consultez À propos de la qualité automatique des données.

Avant de commencer

Activer l'API Dataplex

Activer l'API

Autorisations

  • Pour exécuter une analyse de la qualité des données sur une table BigQuery, vous devez disposer des autorisations nécessaires pour lire la table BigQuery et pour créer une tâche 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 accorder au compte de service Dataplex du projet contenant l'autorisation de lecture de l'analyse de la qualité des données pour la table BigQuery correspondante.

  • Si les règles de qualité des données font référence à des tables supplémentaires, le compte de service du projet d'analyse doit disposer d'autorisations de lecture sur les mêmes tables.

  • Pour obtenir les autorisations nécessaires pour exporter les résultats d'analyse vers une table BigQuery, demandez à votre administrateur d'accorder au compte de service Dataplex le rôle IAM Éditeur de données BigQuery (roles/bigquery.dataEditor) pour l'ensemble de données et la table de résultats. Les autorisations suivantes sont accordées:

    • 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, accordez au compte de service Dataplex les rôles roles/dataplex.metadataReader et 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 le rôle Cloud Storage roles/storage.objectViewer pour le bucket. Vous pouvez également attribuer au compte de service Dataplex les autorisations suivantes:

    • storage.buckets.get
    • storage.objects.get
  • Si vous souhaitez publier les résultats de l'analyse de la qualité des données sur les pages BigQuery et Data Catalog de la console Google Cloud pour les tables sources, vous devez disposer du rôle IAM BigQuery Editor (roles/bigquery.dataEditor) ou de l'autorisation bigquery.tables.update pour la table.

  • Si vous devez accéder à des colonnes protégées par des règles d'accès au niveau des colonnes de BigQuery, attribuez des autorisations de compte de service Dataplex à ces colonnes. L'utilisateur qui crée ou met à jour une analyse de données doit également disposer d'autorisations pour les colonnes.

  • Si les règles d'accès au niveau des lignes de BigQuery sont activées pour une table, vous ne pouvez analyser que les lignes visibles par le compte de service Dataplex. Notez que les droits d'accès de chaque utilisateur ne sont pas évalués pour les règles au niveau des lignes.

Autorisations et rôles liés à l'analyse de données

Pour utiliser la qualité automatique des données, vous devez disposer des autorisations nécessaires pour exécuter des analyses de données ou d'un rôle doté d'autorisations prédéfinies pour exécuter des analyses de données.

Le tableau suivant répertorie les autorisations DataScan:

Nom de l'autorisation Accorde les autorisations suivantes:
dataplex.datascans.create Créer un objet DataScan
dataplex.datascans.delete Supprimer un objet DataScan
dataplex.datascans.get Afficher les métadonnées opérationnelles (ID ou planification, par exemple), mais pas les résultats ni les règles
dataplex.datascans.getData Afficher les détails DataScan, y compris les règles et les résultats
dataplex.datascans.list Répertorier les DataScans
dataplex.datascans.run Exécuter un DataScan
dataplex.datascans.update Mettre à jour la description d'un DataScan
dataplex.datascans.getIamPolicy Afficher les autorisations IAM actuelles lors de l'analyse
dataplex.datascans.setIamPolicy Définir des autorisations IAM pour l'analyse

Attribuez aux utilisateurs un ou plusieurs des rôles suivants:

  • roles/dataplex.dataScanAdmin: accès complet aux ressources DataScan.
  • roles/dataplex.dataScanEditor: accès en écriture aux ressources DataScan.
  • roles/dataplex.dataScanViewer: accès en lecture aux ressources DataScan, à l'exclusion des règles et des résultats.
  • roles/dataplex.dataScanDataViewer: accès en lecture aux ressources DataScan, y compris aux règles et aux résultats.

Créer une analyse de la qualité des données

Console

  1. Dans la console Google Cloud, accédez à la page Qualité des données.

    Accéder à la qualité des données

  2. Cliquez sur Créer une analyse de la qualité des données.

  3. Dans la fenêtre Définir l'analyse, renseignez les champs suivants:

    1. Saisissez un nom à afficher.

    2. L'ID d'analyse est généré automatiquement si vous ne fournissez pas votre propre ID. Consultez la norme de dénomination des ressources.

    3. Facultatif : saisissez une Description.

    4. Dans le champ Table, cliquez sur Parcourir, choisissez votre table, puis cliquez sur Sélectionner. Dataplex n'est compatible qu'avec les tables BigQuery standards.

      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 le lac Dataplex, cliquez sur Parcourir les lacs Dataplex.

    5. Dans le champ Champ d'application, sélectionnez Incrémentiel ou Données entières.

      • Si vous choisissez Incrémentiel: dans le champ Colonne d'horodatage, sélectionnez dans votre table BigQuery une colonne de type DATE ou TIMESTAMP qui augmente de façon linéaire et permet d'identifier de nouveaux enregistrements. Il peut s'agir d'une colonne qui partitionne la table.
    6. (Facultatif) Ajoutez des libellés. Les étiquettes sont des paires key:value qui vous permettent de regrouper des objets associés ou avec d'autres ressources Google Cloud.

    7. Pour filtrer vos données, cliquez sur Filtres. Cochez la case Filtrer les lignes. La valeur d'entrée pour le filtre de ligne doit être une expression SQL valide pouvant être utilisée dans une clause WHERE dans la syntaxe SQL standard BigQuery. Exemple : col1 >= 0. Le filtre peut être une combinaison de plusieurs conditions de colonne. Par exemple, col1 >= 0 AND col2 < 10.

    8. 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% comportant jusqu'à trois chiffres décimaux. Pour les ensembles de données plus volumineux, choisissez un pourcentage d'échantillonnage plus faible. Par exemple, pour une table d'environ 1 Po, si vous saisissez une valeur comprise entre 0,1% et 1,0%, Dataplex échantillonne entre 1 et 10 To de données. Pour les analyses de données incrémentielles, Dataplex applique l'échantillonnage au dernier incrément.

    9. Pour publier les résultats de l'analyse de la qualité des données sur les pages BigQuery et Data Catalog de la table source dans la console Google Cloud, cochez la case Publier les résultats dans l'interface utilisateur de BigQuery et Dataplex Catalog. Vous pouvez afficher les derniers résultats d'analyse dans l'onglet Qualité des données des pages BigQuery et Data Catalog de la table source. Pour permettre aux utilisateurs d'accéder aux résultats d'analyse publiés, consultez Partager les résultats publiés. L'option de publication peut ne pas être disponible dans les cas suivants:

      • Vous ne disposez pas des autorisations nécessaires sur la table.
      • Une autre analyse de la qualité des données est configurée pour publier les résultats.

      Pour en savoir plus sur les autorisations requises pour afficher les résultats publiés, consultez la section Autorisations.

    10. Cliquez sur Continuer.

  4. Dans la fenêtre Programmation, sélectionnez l'une des options suivantes:

    • Répéter : exécutez votre job d'analyse de la qualité des données selon un calendrier (quotidien, hebdomadaire, mensuel ou personnalisé). Spécifiez la fréquence d'exécution de l'analyse et l'heure à laquelle elle doit être effectuée. Si vous choisissez l'option "Personnalisée", utilisez le format cron pour spécifier la planification.

    • À la demande: exécutez une tâche d'analyse de la qualité des données à la demande.

    Cliquez sur Continuer.

  5. Dans la fenêtre Règles de qualité des données, définissez les règles à configurer pour cette analyse de la qualité des données. Dans le champ Règles, choisissez l'une des options suivantes.

    • Option 1: Recommandations basées sur le profil: créez des règles à partir des recommandations en fonction d'une analyse de profilage de données existante.

      1. Choisir les colonnes: sélectionnez les colonnes pour lesquelles vous souhaitez obtenir des règles recommandées.

      2. Scan project (Analyser le projet) : recommandations basées sur une analyse de profilage de données existante. Par défaut, Dataplex sélectionne les analyses de profilage à partir du projet dans lequel vous créez l'analyse de la qualité des données. Si vous avez créé l'analyse dans un autre projet, vous devez spécifier le projet à partir duquel extraire les analyses de profil.

      3. Choisir les résultats de profil: en fonction des colonnes et du projet que vous sélectionnez, plusieurs résultats de profil apparaissent.

      4. Sélectionnez un ou plusieurs résultats de profil, puis cliquez sur OK. Une liste de règles est alors disponible.

      5. Sélectionnez les règles que vous souhaitez modifier en cochant les cases correspondantes, puis en cliquant 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.

    • Option 2: 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.

      1. Choisir les colonnes: sélectionnez les colonnes pour lesquelles vous souhaitez sélectionner des règles.

      2. Choisir des types de règles: en fonction des colonnes sélectionnées, plusieurs types de règles apparaissent pour la sélection.

      3. Sélectionnez un ou plusieurs types de règles, puis cliquez sur OK. Une liste de règles à sélectionner s'affiche.

      4. Cochez les règles que vous souhaitez modifier et 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.

    • Option 3: Règle de vérification des lignes SQL: créez une règle SQL personnalisée à appliquer à chaque ligne (règle de vérification des lignes SQL personnalisée). Sélectionnez Règle de vérification des lignes SQL et procédez comme suit:

      1. Dans Dimension, choisissez une dimension.

      2. Dans Seuil de réussite, choisissez un pourcentage d'enregistrements devant passer le contrôle.

      3. Dans Nom de la colonne, choisissez une colonne.

      4. Cliquez sur Ajouter.

    • Option 4: Règle de vérification d'agrégation SQL SQL: créez une règle de vérification d'agrégation SQL personnalisée. Choisissez Règle de vérification d'agrégation SQL et procédez comme suit:

      1. Dans Dimension, choisissez une dimension.

      2. Dans Nom de la colonne, choisissez une colonne.

      3. Cliquez sur Ajouter.

    Dataplex autorise les noms personnalisés des règles de qualité des données pour la surveillance et les alertes. Pour toute règle de qualité des données, vous pouvez éventuellement attribuer un nom et une description personnalisés. 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é comportant 63 caractères au 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 règle de 1 024 caractères au maximum.

    Cliquez sur Continuer.

  6. Facultatif: exportez les résultats d'analyse dans une table BigQuery standard. Cliquez sur Parcourir pour sélectionner un ensemble de données BigQuery existant dans lequel stocker les résultats de l'analyse de la qualité des données.

    Si la table spécifiée n'existe pas, Dataplex la crée pour vous. Si vous utilisez une table existante, assurez-vous qu'elle est compatible avec le schéma de table décrit plus loin dans cette section.

  7. Cliquez sur Créer.

    Une fois l'analyse créée, vous pouvez l'exécuter à tout moment en cliquant sur Exécuter.

gcloud

Pour créer une analyse de la qualité des données, exécutez la commande suivante:

gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
| --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 portant le préfixe gs://. Vous pouvez spécifier des champs supplémentaires dans ce fichier, tels que rules, rowFilter ou samplingPercent. Consultez la documentation sur la représentation JSON.
  • data-source-entity: entité Dataplex 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 d'analyse de la qualité des données. Exemple : //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table.

Pour connaître les arguments facultatifs, consultez la documentation de référence de gcloud CLI.

REST

Utilisez APIs Explorer pour créer une analyse de la qualité des données.

Exporter le schéma de la 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
analyse_qualité_données struct/record resource_name string pouvant avoir une valeur nulle //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string pouvant avoir une valeur nulle dataplex-back-end-dev-project
location string pouvant avoir une valeur nulle us-central1
data_scan_id string pouvant avoir une valeur nulle test-datascan
source_données struct/record resource_name string pouvant avoir une valeur nulle Majuscule de l'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

Majuscule au tableau : //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
dataplex_entity_project_id string pouvant avoir une valeur nulle dataplex-back-end-dev-project
dataplex_entity_project_number integer pouvant avoir une valeur nulle 123456789
dataplex_lake_id string pouvant avoir une valeur nulle (valide uniquement si la source est une entité)
test-lake
dataplex_zone_id string pouvant avoir une valeur nulle (valide uniquement si la source est une entité)
test-zone
dataplex_entity_id string pouvant avoir une valeur nulle (valide uniquement si la source est une entité)
test-entity
table_project_id string pouvant avoir une valeur nulle test-project
table_project_number integer pouvant avoir une valeur nulle 987654321
dataset_id string pouvant avoir une valeur nulle (valide uniquement si la source est une table)
test-dataset
table_id string pouvant avoir une valeur nulle (valide uniquement si la source est une table)
test-table
id_data_quality_job_id string pouvant avoir une valeur nulle caeba234-cfde-4fca-9e5b-fe02a9812e38
data_profile_job_configuration json trigger string pouvant avoir une valeur nulle ondemand/schedule
incremental boolean pouvant avoir une valeur nulle true`/false
sampling_percent float pouvant avoir une valeur nulle (0-100)
20.0 (indique 20%)
row_filter string pouvant avoir une valeur nulle col1 >= 0 AND col2 < 10
étiquettes_tâches json pouvant avoir une valeur nulle {"key1":value1}
time_start_time timestamp pouvant avoir une valeur nulle 2023-01-01 00:00:00 UTC
fin_tâche timestamp pouvant avoir une valeur nulle 2023-01-01 00:00:00 UTC
ligne_emploi_analyse integer pouvant avoir une valeur nulle 7500
nom_règle string pouvant avoir une valeur nulle test-rule
type_règle string pouvant avoir une valeur nulle Range Check
type_règle_évaluation string pouvant avoir une valeur nulle Per row
colonne_règles string pouvant avoir une valeur nulle Rule only attached to a certain column
dimension_règle string pouvant avoir une valeur nulle Uniqueness
job_quality_result struct/record passed boolean pouvant avoir une valeur nulle true/false
score float pouvant avoir une valeur nulle 90.8
job_dimension_result (résultat_dimension_tâche) json pouvant avoir une valeur nulle {
"accuracy":{
"passed":true
},
"consistency":{
"passed":false
}
}
rule_threshold_percent float pouvant avoir une valeur nulle (0,0-100,0)
Rule-threshold-pct in API * 100
paramètres_règle json pouvant avoir une valeur nulle {min: 24, max:5345}
règle_passe boolean pouvant avoir une valeur nulle True
règles_règles_évaluées integer pouvant avoir une valeur nulle 7400
ligne_règles integer pouvant avoir une valeur nulle 3
règles_lignes_null integer pouvant avoir une valeur nulle 4
Échec de l'enregistrement de la règle string pouvant avoir une valeur nulle "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));"

Lorsque vous configurez BigQueryExport pour une tâche 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 au moment de la création ou de la mise à jour de l'analyse, Dataplex la crée pour vous.
  • Par défaut, la table est partitionnée quotidiennement dans la colonne job_start_time.
  • Si vous souhaitez que la table soit partitionnée dans d'autres configurations ou si vous ne souhaitez pas qu'elle soit partitionnée, recréez la table avec le schéma et les configurations requis, puis fournissez la table prédéfinie 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é sur 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, la tâche en cours d'exécution exporte vers la table de résultats précédente et la modification de la table prend effet à partir de la tâche d'analyse suivante.
  • Ne modifiez pas le schéma de la 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 sur la partition en fonction de votre cas d'utilisation. Pour en savoir plus, consultez la section Définir le délai d'expiration de la partition.

Effectuer une analyse de la qualité des données

Console

  1. Dans la console Google Cloud, accédez à la page Qualité des données. Accédez à Qualité des données Dataplex.
  2. Cliquez sur l'analyse de la qualité des données à exécuter.
  3. Cliquez sur Exécuter.

gcloud

Pour analyser la qualité des données, exécutez la commande suivante:

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.

Pour connaître les arguments facultatifs, consultez la documentation de référence de gcloud CLI.

REST

Utilisez APIs Explorer pour analyser votre qualité des données.

Afficher les résultats du job d'analyse de la qualité des données

Console

Les analyses de la qualité des données que vous avez créées s'affichent sur la page Qualité des données.

Pour afficher les résultats détaillés d'une analyse, cliquez sur le nom de l'analyse.

  • La section Présentation affiche des informations sur les sept dernières exécutions, y compris la date d'exécution de l'analyse, le nombre d'enregistrements analysés dans chaque tâche, si tous les contrôles de qualité des données ont réussi, s'il y a eu des échecs, le nombre de contrôles de qualité des données ayant échoué et les dimensions qui ont échoué.

  • La section Configuration de l'analyse de la qualité des données affiche les détails de l'analyse.

gcloud

Pour afficher les résultats d'une tâche d'analyse de la qualité des données, exécutez la commande suivante:

gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULL

Remplacez les variables suivantes :

  • JOB: ID de la tâche 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 la tâche.
  • --view=FULL: pour afficher le résultat de la tâche d'analyse, spécifiez FULL.

Pour connaître les arguments facultatifs, consultez la documentation de référence de gcloud CLI.

REST

Utilisez APIs Explorer pour afficher les résultats d'une analyse de la qualité des données.

Afficher toutes les tâches d'analyse de la qualité des données

Dataplex enregistre l'historique d'analyse de la qualité des données des 300 dernières tâches ou de l'année précédente, selon la première échéance atteinte.

Console

L'onglet Historique des tâches fournit des informations sur les anciennes tâches. Il indique toutes les tâches, le nombre d'enregistrements analysés dans chaque tâche, l'état de la tâche, l'heure d'exécution de la tâche, si chaque règle a réussi ou échoué, et plus encore.

Pour afficher des informations détaillées sur une tâche, cliquez sur la tâche de votre choix dans la colonne Job ID (ID de tâche).

gcloud

Pour afficher toutes les tâches d'analyse de la qualité des données, exécutez la commande suivante:

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 toutes les tâches.

Pour connaître les arguments facultatifs, consultez la documentation de référence de gcloud CLI.

REST

Utilisez APIs Explorer pour afficher toutes les tâches d'analyse.

Partager les résultats publiés

Lors de la création d'une analyse de la qualité des données, si vous avez choisi de publier les résultats de l'analyse sur les pages BigQuery et Data Catalog de la console Google Cloud, les résultats les plus récents seront disponibles dans l'onglet Qualité des données de ces pages.

Vous pouvez autoriser les utilisateurs de votre organisation à accéder aux résultats d'analyse publiés. Pour accorder l'accès aux résultats de l'analyse, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Profil.

    Accéder au profil Dataplex

  2. Cliquez sur l'analyse de la qualité des données dont vous souhaitez partager les résultats.

  3. Accédez à l'onglet Autorisations.

  4. Cliquez sur Accorder l'accès.

  5. Dans le champ Nouveaux comptes principaux, ajoutez le compte principal auquel vous souhaitez accorder l'accès.

  6. Dans le champ Sélectionnez un rôle, sélectionnez Dataplex DataScan DataViewer.

  7. Cliquez sur Enregistrer.

Pour supprimer l'accès aux résultats d'analyse publiés pour un compte principal, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Profil.

    Accéder au profil Dataplex

  2. Cliquez sur l'analyse de la qualité des données dont vous souhaitez partager les résultats.

  3. Accédez à l'onglet Autorisations.

  4. Sélectionnez le compte principal pour lequel vous souhaitez supprimer le rôle Dataplex DataScan DataViewer.

  5. Cliquez sur Supprimer l'accès.

  6. Cliquez sur Confirmer.

Mettre à jour une analyse de la qualité des données

Console

  1. Dans la console Google Cloud, accédez à la page Qualité des données.

    Accéder à la qualité des données

  2. Sur la ligne où se trouve l'analyse à modifier, cliquez sur les trois points verticaux > Modifier.

  3. Modifiez les valeurs.

  4. Cliquez sur Enregistrer.

gcloud

Pour mettre à jour la description d'une analyse de la qualité des données, exécutez la commande suivante:

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.

Pour connaître les arguments facultatifs, consultez la documentation de référence de gcloud CLI.

REST

Utilisez APIs Explorer pour modifier votre analyse de la qualité des données.

Supprimer une analyse de la qualité des données

Console

  1. Dans la console Google Cloud, accédez à la page Qualité des données.

    Accéder à la qualité des données

  2. Cliquez sur l'analyse que vous souhaitez supprimer.

  3. Cliquez sur Supprimer.

gcloud

Pour supprimer une analyse de la qualité des données, exécutez la commande suivante:

gcloud dataplex datascans delete \
DATASCAN --location=LOCATION \
--async

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 à supprimer.

Pour connaître les arguments facultatifs, consultez la documentation de référence de gcloud CLI.

REST

Utilisez APIs Explorer pour supprimer votre analyse de la qualité des données.

Définir des alertes dans Cloud Logging

Pour définir des alertes liées aux échecs de qualité des données à l'aide des journaux dans Cloud Logging, procédez comme suit:

Console

  1. Dans la console Google Cloud, accédez à Cloud Logging > Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Dans la fenêtre Requête, saisissez votre requête. Consultez des exemples de requêtes.

  3. Cliquez sur Exécuter la requête (Run Query).

  4. Cliquez sur Créer une alerte. Un panneau latéral s'ouvre.

  5. Saisissez le nom de votre règle d'alerte, puis cliquez sur Suivant.

  6. Examinez la requête.

    1. Cliquez sur le bouton Prévisualiser les journaux pour tester votre requête. Les journaux dont les conditions correspondent sont affichés.

    2. Cliquez sur Suivant.

  7. Définissez le délai entre les notifications, puis cliquez sur Next (Suivant).

  8. Définissez les personnes à alerter pour 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 console Google Cloud.

gcloud

Non compatible.

REST

Utilisez APIs Explorer pour définir des alertes dans Cloud Logging.

Exemples de requêtes permettant de définir des alertes au niveau des tâches ou des dimensions

  • Exemple de requête permettant de définir des alertes sur les échecs de qualité 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 sur les échecs de qualité des données pour une dimension (par exemple, l'unicité) d'une analyse de qualité des données donnée:

    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 définir des alertes sur les échecs de qualité des données pour une table.

    • Définissez des alertes sur les échecs de qualité des données pour une table BigQuery qui n'est pas organisée dans un lac Dataplex:

      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 sur les échecs de qualité des données pour une table BigQuery organisée dans un lac Dataplex:

      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 à définir pour les alertes par règle

  • Exemple de requête permettant de définir des alertes sur toutes les règles de qualité des données ayant échoué 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 sur 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 sur toutes les règles de qualité des données ayant échoué pour une colonne de 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 problème de qualité des données

Pour chaque tâche dont les règles au niveau des lignes échouent, Dataplex fournit une requête permettant d'obtenir les enregistrements ayant échoué. Exécutez cette requête pour voir les enregistrements qui ne correspondent pas à votre règle.

Console

  1. Dans la console Google Cloud, accédez à la page Qualité des données.

    Accéder à la qualité des données

  2. Sélectionnez l'analyse à corriger en cliquant sur son nom à afficher.

  3. Dans l'onglet Historique des tâches, recherchez l'exécution de l'analyse qui a échoué et cliquez sur le lien de l'échec.

  4. Dans la fenêtre de la tâche qui s'ouvre, accédez à la section Règles, puis recherchez la colonne Requête d'obtention des enregistrements ayant échoué.

  5. Copiez la requête pour l'exécuter dans BigQuery et observez les enregistrements ayant causé l'échec de la tâche.

gcloud

Non compatible.

REST

Utilisez APIs Explorer pour afficher la requête permettant d'obtenir les enregistrements ayant échoué pour les tâches ayant échoué.

Définir des règles de qualité des données

Vous pouvez définir la qualité des données via la console ou l'API, à l'aide de règles intégrées ou de vérifications SQL personnalisées. Si vous utilisez gcloud CLI, vous pouvez définir ces règles dans un fichier YAML.

Supposons qu'une table ait le schéma suivant:

Nom de colonne Type de colonne Description de la colonne
date_transaction Code temporel Horodatage de la transaction. La table est partitionnée en fonction de ce champ.
customer_id String Numéro client au format composé de 8 lettres, suivies de 16 chiffres
id_transaction String L'ID de la transaction doit être unique dans la table.
id_devise String Une des devises acceptées.Le type de devise doit correspondre à l'une des devises disponibles dans le tableau de dimensions dim_currency.
amount float Montant de la transaction.
remise_pct float 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 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 peut vous recommander certaines de ces règles. Consultez la liste des règles intégrées.

Nom de la colonne Type de règle Dimension de suggestion Paramètres de la règle
transaction_id Vérification de l'originalité Originalité "Threshold" (Seuil) : Not Applicable
amount Vérification de la valeur nulle Exhaustivité "Threshold" (Seuil) : 100%
customer_id Vérification de l'expression régulière 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 de: 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 qui aboutissent lorsque Dataplex évalue la requête SELECT COUNTIF(custom-sql-expr) FROM TABLE. Dataplex vérifie le nombre de lignes réussies par rapport au seuil.

  • Lorsque vous créez une règle qui effectue une évaluation sur les lignes ou la vérification SQL globale, créez une expression qui renvoie un échec ou une réussite lorsque Dataplex évalue la requête SELECT IF(custom-sql-expr) FROM TABLE.

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 ET discount_pct < 100
Condition de ligne Effectuez une vérification de référence pour confirmer que currency_id est l'une des devises acceptées. currency_id in (select id from my_project_id.dim_dataset.dim_currency)
Condition d'agrégation Vérifiez si la moyenne de discount_pct est comprise entre 30% et 50%. 30<avg(discount) AND avg(discount) <50
Condition de ligne Une règle simple qui vérifie une date ne se situe pas dans le futur TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
Condition d'agrégation Une UDF BigQuery permettant de vérifier que le montant moyen de la transaction 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 pour vérifier le montant moyen de la transaction pour country=CAN

        myProject.myDataset.average_by_country(
        "CAN",
        (select avg(amount) from
          myProject.myDataset.transactions_table
            where currency_id = 'CAN'
        ))
      
Condition d'agrégation Une clause de prédiction BigQuery ML pour identifier les anomalies dans discount_pct Il 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 %. Hypothèse: le modèle de ML est créé avant d'utiliser 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 vérification 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 Une fonction de prédiction BigQuery ML pour identifier les anomalies dans discount_pct La fonction 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 d'utiliser 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 vérification suivante détermine si la prédiction de remise correspond à la valeur 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
              )
            )
         )
    

Définir la qualité des données à l'aide de gcloud

Le fichier YAML suivant utilise les mêmes règles que dans Exemples de règles utilisant des types intégrés et Exemples de règles SQL personnalisées. Vous pouvez utiliser ce fichier YAML comme entrée dans la commande gcloud.

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
- 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

Pour créer une analyse de la qualité des données à l'aide de cet exemple de fichier YAML, exécutez la commande suivante:

gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
| --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 l'analyse de la qualité des données a été créée.
  • data-quality-spec-file: chemin d'accès au fichier JSON ou YAML contenant les spécifications pour 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 portant le préfixe gs://. Vous pouvez ajouter des champs spécifiques au fichier, tels que rules, rowFilter et samplingPercent. Pour obtenir une représentation JSON, consultez la documentation.
  • data-source-entity: entité Dataplex contenant les données pour l'analyse de la qualité des données.
  • data-source-resource: nom de la ressource cloud contenant les données d'analyse de la qualité des données.

Étape suivante