Accéder au contenu principal Passer au contenu complémentaire

Valider des données à l'aide de règles de qualité de données et filtrer les données invalides

Le Job dans ce scénario utilise :
  • Le composant tDataQualityRules pour valider les données à l'aide d'une règle de qualité de données depuis Talend Cloud Data Stewardship.
  • Le composant tFilterRow pour filtrer les données non exécutables.
Le Job utilise la règle de qualité de données suivante :
Configuration de la règle de qualité de données.

Vous pouvez télécharger et extraire le fichier suivant : scholarship_programs.zip.

Configurer votre Job

Procédure

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tFixedFlowInput, un tDataQualityRules, un tExtractJSONFields, un tFilterRow et trois tLogRow.
  2. Reliez les composants suivants à l'aide de liens Main :
    • le tFixedFlowInput au tDataQualityRules,
    • le tDataQualityRules à l'un des tLogRow,
    • le tExtractJSONFields au tFilterRow,
  3. Avec un lien Filter, reliez le tFilterRow à un autre tLogRow.
  4. Reliez les composants suivants à l'aide de liens Reject :
    • le tDataQualityRules au tExtractJSONFields,
    • le tFilterRow au dernier tLogRow.
    Job comprenant sept composants et validant les données à l'aide du composant tDataQualityRules.
    Note InformationsConseil : Si vous souhaitez récupérer uniquement les données valides, reliez le tDataQualityRules à un seul tLogRow, à l'aide d'un lien Main. Vous n'avez pas besoin des composants tExtractJSONFields et tFilterRow.

Configurer le composant tFixedFlowInput

Procédure

  1. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Basic settings.
  2. Sélectionnez Built-In dans la liste Schema et cliquez sur […] près de Edit schema.
  3. Pour ajouter des colonnes, cliquez sur l'icône Add (Ajouter), puis sur OK.
    Schéma du composant tFixedFlowInput.
  4. Sélectionnez l'option Use Inline Content (delimited file).
  5. Saisissez vos données. Vous pouvez utiliser les données du jeu de données dans le fichier suivant : scholarship_programs.zip.
    Configuration du composant tFixedFlowInput.

Configurer le composant tDataQualityRules

Avant de commencer

Pourquoi et quand exécuter cette tâche

Vous avez besoin de l'autorisation Rules - View (Règles - Visualisation) pour récupérer les règles. Pour plus d'informations, consultez les Rôles utilisateur·trices prédéfinis relatifs à l'application que vous utilisez.

Procédure

  1. Sélectionnez Built-In dans la liste Output schema.
  2. Cliquez sur le bouton Sync columns afin de récupérer le schéma du composant d'entrée.
  3. Dans la liste déroulante Application, sélectionnez Data Stewardship.
  4. Saisissez l'URL de Talend Cloud Data Stewardship : "https://tds.us.cloud.talend.com/rulerepository/api/v1".
    L'URL dépend de votre région Cloud : Consultez URL et régions de Talend Cloud.
  5. Pour saisir votre jeton d'accès personnel, cliquez sur le bouton [...].
  6. Pour récupérer les règles de qualité de données, cliquez sur Refresh.
    Bouton Refresh (Actualiser) près du champ DQ rule library timestamp (Horodatage de la bibliothèque de règles DQ).
    Si vous mettez à jour les règles de qualité de données dans Talend Cloud Data Stewardship, cliquez sur Refresh pour récupérer la dernière version.
  7. Cliquez sur le bouton [...] près de Configure DQ rules.
  8. Sélectionnez la règle et associez les variables de règles aux colonnes d'entrée.
    Fenêtre de configuration pour associer les variables.
    Vous pouvez associer les types de données dans le Studio Talend à certains types de données dans Talend Cloud Data Stewardship. Consultez Associer des types de données.
    Si aucune règle ou colonne d'entrée n'est disponible, vérifiez que :
    • Les règles de qualité de données ont été récupérées dans DQ rule library timestamp (Horodatage des bibliothèques de règles DQ).
    • Le schéma d'entrée est correct.
  9. Cliquez sur OK pour valider la configuration.

Configurer le tExtractJSONFields

Pourquoi et quand exécuter cette tâche

Le tExtractJSONFields vous permet d'obtenir des données plus lisibles, afin de les filtrer plus facilement via un composant tFilterRow.

Procédure

  1. Sélectionnez Built-In dans les listes Property Type et Schema.
  2. Cliquez sur le bouton [...] à côté du champ Edit Schema.
    La colonne INVALID_STATUS a été ajoutée au schéma d'entrée. Vous pouvez renommer la colonne dans le schéma de sortie.
    Exemple de schémas d'entrée et de sortie.
  3. Sélectionnez JsonPath et, dans la liste API version, sélectionnez 2.1.0.
  4. Saisissez le caractère de remplacement * dans le champ Loop Jsonpath query pour sélectionner tous les éléments.
  5. Sélectionnez INVALID_STATUS dans la liste déroulante JSON Field.
  6. Définissez la requête JSON dans la table Mapping.
    Les colonnes du schéma sont listées dans le champ Column de la table Mapping.
  7. Dans la colonne Json query de la table Mapping, saisissez executionResults[0].status pour Status.
    executionResults[0].status est le chemin d'accès au statut status[0] représente les détails d'exécution de la première règle. Si vous avez besoin des détails d'exécution de la deuxième règle, utilisez [1], si vous avez besoin des détails de la troisième règle, utilisez [2], etc. Cela simplifie le filtrage des données en utilisant le composant tFilterRow.

    Exemple

    Le statut INVALID_STATUS est : [{"executionResults":[{"ruleName":"ScholarshipProgram_Else","inputColumn":["EffectiveOn","Code","Program"],"status":"Invalid"}]}].

    Le tExtractJSONFields le transforme en Invalid.

    Configuration du composant tExtractJSONFields.

Configurer le tFilterRow

Pourquoi et quand exécuter cette tâche

Le composant tFilterRow de ce scénario crée deux catégories :
  • NE : La règle ne peut être exécutée sur les données.
  • Invalide : Les données sont conformes à la condition mais pas à l'expression de validation.

Procédure

  1. Dans la table Conditions, cliquez sur l'icône Add (Ajouter).
  2. Dans InputColumn, sélectionnez Status.
  3. Dans Value, saisissez "NE".
    Note InformationsA faire : Si vous ajoutez plusieurs colonnes, définissez l'opérateur logique au-dessus de la table : And/Or. Par défaut, And est sélectionné.

Configurer les composants tLogRow

Procédure

  1. Double-cliquez sur les composants tLogRow afin d'ouvrir leur vue Basic settings.
  2. Dans la liste Schema, sélectionnez Built-in puis cliquez sur Sync columns.
  3. Dans la zone Mode, sélectionnez Table (print values in cells of a table).
    Configuration des composants tLogRow.

Exécuter le Job

Procédure

Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

Résultats

Le tLogRow ayant le lien Main retourne les étudiants pour lesquels :
  • le code de statut est 2632 et la date est 2021-09-01,

    OU

  • le code de statut n'est pas 2632 et le programme se termine par 10AB ou 10AC.
.-------+----+-------+-----------+-----------.
|                    main                    |
|=------+----+-------+-----------+----------=|
|ID     |Code|Program|EffectiveOn|Nationality|
|=------+----+-------+-----------+----------=|
|1002145|2632|2310AB |2021-09-01 |Canada     |
|1002146|1132|3610AC |2021-10-01 |US         |
|1002149|2632|3711AB |2021-09-01 |US         |
|1002150|2632|2310AB |2021-09-01 |US         |
|1002151|2632|3711AB |2021-09-01 |US         |
|1002152|2632|2310AB |2021-09-01 |US         |
|1002153|2632|3711AB |2021-09-01 |US         |
|1002155|2675|3610AC |2021-10-01 |US         |
|1002156|2675|2310AB |2021-10-01 |Canada     |
|1002158|2632|2310AB |2021-09-01 |US         |
|1002159|1132|2310AB |2021-10-01 |US         |
|1002162|2675|2310AB |2021-10-01 |US         |
|1002163|2632|3610AC |2021-09-01 |US         |
'-------+----+-------+-----------+-----------'
Les données invalides sont filtrées dans deux tables.
.-------+----+-------+-----------+-----------+------.
|                        NE                         |
|=------+----+-------+-----------+-----------+-----=|
|ID     |Code|Program|EffectiveOn|Nationality|Status|
|=------+----+-------+-----------+-----------+-----=|
|1002161|abcd|3611AC |2021-09-01 |US         |NE    |
'-------+----+-------+-----------+-----------+------'

Le statut NE signifie que la règle ne peut être exécutée sur les données. Dans ce scénario, le code de statut est abcd mais la condition de règle est is equal to 2632.

Les autres données invalides signifient :
  • le code de statut est 2632 mais la date n'est pas 2021-09-01,

    ou

  • le code de statut n'est pas 2632 et le programme ne se termine pas par 10AB ou 10AC.
    .-------+----+-------+-----------+-----------+-------+----------------------------------.
    |                                     OtherInvalid                                      |
    |=------+----+-------+-----------+-----------+-------+---------------------------------=|
    |ID     |Code|Program|EffectiveOn|Nationality|Status |errorMessage                      |
    |=------+----+-------+-----------+-----------+-------+---------------------------------=|
    |1002147|2632|3610AC |2022-01-01 |Canada     |Invalid|Status.compareTo("NE") == 0 failed|
    |1002148|2632|2310AB |2022-01-01 |Canada     |Invalid|Status.compareTo("NE") == 0 failed|
    |1002154|2632|3610AC |2022-01-01 |Canada     |Invalid|Status.compareTo("NE") == 0 failed|
    |1002157|2632|3610AC |2022-01-01 |Canada     |Invalid|Status.compareTo("NE") == 0 failed|
    |1002160|2632|2310AB |2022-01-01 |Canada     |Invalid|Status.compareTo("NE") == 0 failed|
    |1002164|2675|3611AC |2021-09-01 |US         |Invalid|Status.compareTo("NE") == 0 failed|
    '-------+----+-------+-----------+-----------+-------+----------------------------------'
Lorsque vous sauvegardez le Job, un fichier JAR contenant la définition de règle est créé dans :
studio-path\configuration\.m2\repository\org\talend\libraries\rules-number

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.