Validation de données en fonction d’un schéma
Dans ce tutoriel vous apprendrez à utiliser un schéma tSchemaComplianceCheck afin de vérifier la qualité de vos données sources pour les valider ou les rejeter.
Prérequis :
- Avoir installé le Studio Talend, la partie ETL (Extract Transform Load) des solutions Talend.
- L’application gratuite Talend Open Studio for Data Integration est suffisante pour ce tutoriel.
- Avoir étudié les tutoriels suivants : Créer un projet avec un Job simple depuis le Studio Talend, Se familiariser avec l’interface Talend Studio.
Composants ETL utilisés dans le traitement
- tFileInputDelimited : Pour lire les données d’un fichier CSV.
- tSchemaComplianceCheck : Pour vérifier la qualité des données.
- tLogRow : Pour afficher les données sur la console d’exécution.
Scénario
Le flux d’entrée provient d’un fichier CSV simple contenant des données dont les propriétés ont un mauvais type, un mauvais ID, dont les données sont supérieures à la longueur maximum, ou contenant des valeurs nulles dans les colonnes alors que celles-ci sont définies comme non nullables.
Pour détecter ces anomalies nous allons utiliser le composant tSchemaComplianceCheck qui permet de vérifier le type, la nullabilité et la longueur des données du flux d’entrée en fonction du schéma de référence défini.
Configurer le Job
- Déposez les composants suivants : un tFileInputDelimited, un tSchemaComplianceCheck et deux tLogRow dans l’espace de modélisation graphique.
- Reliez le tFileInputDelimited au tSchemaComplianceCheck à l’aide d’un lien Row > Main.
- Cliquez-droit sur le composant tSchemaComplianceCheck et sélectionnez Row > Main pour le connecter au premier composant tLogRow. Ce flux de sortie ne contiendra que les données valides.
- Cliquez-droit une deuxième fois sur le composant tSchemaComplianceCheck et cette fois sélectionnez Row > Rejects pour le relier au second composant tLogRow. Cette deuxième sortie regroupera toutes les données non conformes.

Configurer les composants
- Double-cliquez sur le composant tFileInputDelimited afin d’afficher sa vue Basic settings. Configurez ses propriétés, notamment le nom du fichier d’entrée et le nombre de lignes d’en-tête à ignorer.

- Cliquez sur le bouton […] à côté du champ Edit Schema pour décrire la structure de données de ce fichier d’entrée. Dans ce scénario, le schéma est composé de cinq colonnes : ID, Name, BirthDate, State et City.

- Renseignez le champ Length des colonnes Name, State et City : respectivement 7, 10 et 10. Cliquez sur OK pour propager les changements et fermer la boîte de dialogue Schema.
- Double-cliquez sur le composant tSchemaComplianceCheck pour afficher sa vue Basic settings et configurer les paramètres de validation.

- Cochez l’option Custom defined dans la zone Mode pour effectuer des validations personnalisées.
- Dans le tableau Checked Columns, définissez les vérifications à effectuer. Pour ce scénario :
- Le type de la colonne ID doit être Int.
- La longueur des colonnes Name, State and City doit être vérifiée.
- Le type de la colonne BirthDate doit être Date et le modèle de date attendu est dd-MM-yyyy.
- Toutes les colonnes doivent être cochées pour les valeurs null, vous devez donc décocher la case Nullable de toutes les colonnes.
- Dans la vue Advanced settings du composant tSchemaComplianceCheck, cochez la case Treat all empty string as NULL afin de rejeter toutes les lignes contenant des champs vides.
- Pour visualiser le résultat du processus de validation sous forme de tableau dans la console Run, double-cliquez sur chaque composant tLogRow et cochez la case Table dans leur vue Basic settings.
Exécuter le Job
Enregistrez votre Job et appuyez sur F6 pour l’exécuter.
Deux tableaux s’affichent dans la console, qui montrent respectivement les données valides et les données rejetées :
- Données valides :

- Données rejetées :

Vous savez désormais utiliser un schéma tSchemaComplianceCheck afin de vérifier la qualité de vos données sources pour les valider ou les rejeter.
Laisser un commentaire
Il n'y a pas de commentaires pour le moment. Soyez le premier à participer !