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

Validation de données en fonction d'un schéma

Ce scénario permet de vérifier le type, la nullabilité et la longueur des données du flux d'entrée par rapport au schéma de référence défini. Il permet également d'afficher les résultats de validation dans la console de la vue Run.

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.
ID;Name;BirthDate;State;City
1;Dwight;06-04-2008;Delaware;Concord
2;Warren;25-10-2008;Montana
3;Benjamin;17-08-2008;Washington;Austin
4;Harry;14-04-2008;Kansas;Annapolis
5;Ulysses;2007-04-12;Michigan;Raleigh
6;James;19-08-2007;Delaware;Charleston
.7;Bill;20-04-2007;Illinois;Bismarck
8;Ulysses;04-12-2008;;Saint Paul
9;Thomas;09-05-2008;Maryland;Albany
10;Ronald;11-02-2008;Florida;Hartford

Ce scénario s'applique uniquement à Talend Data Management Platform, Talend Big Data Platform, Talend Real-Time Big Data Platform, Talend MDM Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Configurer votre Job

Procédure

  1. Déposez les composants suivants : un tFileInputDelimited, un tSchemaComplianceCheck et deux tLogRow de la Palette dans l'espace de modélisation graphique.
  2. Reliez le tFileInputDelimited au tSchemaComplianceCheck à l'aide d'un lien Row > Main.
  3. Reliez le tSchemaComplianceCheck au premier tLogRow à l'aide d'un lien Row > Main. Ce flux de sortie ne contiendra que les données valides.
  4. Reliez le tSchemaComplianceCheck au second tLogRow à l'aide d'un lien Row > Rejects. Ce flux de sortie rassemble les données non conformes. Il passe deux colonnes supplémentaires au composant suivant : errorCode et errorMessage. Ces deux colonnes en lecture seule fournissent des informations concernant les données rejetées afin de simplifier la gestion d'erreurs et la résolution de problèmes, si nécessaire.
    Job utilisant un tFileInputDelimited, un tSchemaComplianceCheck et deux tLogRow.

Configurer les composants

Procédure

  1. Double-cliquez sur le composant tFileInputDelimited afin d'afficher sa vue Basic settings.
  2. Configurez les paramètres simples, notamment le nom du fichier d'entrée et le nombre de lignes d'en-tête à ignorer.
    Configuration du composant tFileInputDelimited.
  3. 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 cet exemple, le schéma se compose de cinq colonnes : ID, Name, BirthDate, State et City.
  4. Renseignez le champ Length des colonnes Name, State et City : respectivement 7, 10 et 10.
    Schéma du composant tFileInputDelimited.
  5. Cliquez sur OK.
  6. Double-cliquez sur le tSchemaComplianceCheck pour afficher sa vue Basic settings.
  7. Configurez les paramètres de validation.
    Configuration du composant tSchemaComplianceCheck.
  8. Dans la zone Mode, sélectionnez l'option Custom defined pour effectuer des validations personnalisées.
    Dans cet exemple, utilisez le tableau Checked columns pour configurer les paramètres de validation. Vous pouvez également sélectionner l'option
    • Check all columns from schema si vous souhaitez effectuer toutes les vérifications (type, nullabilité et longueur) sur toutes les colonnes, par rapport au schéma de base,
    • Use another schema for compliance check et définir un nouveau schéma comme structure attendue des données.
  9. Dans le tableau Checked Columns, définissez les vérifications à effectuer. Dans cet exemple:
    • Le type de la colonne ID doit être Int|Integer.
    • La longueur des colonnes Name, State et City doit être vérifiée.
    • Le type de la colonne BirthDate doit être Date. Le modèle de date attendu est dd-MM-yyyy.
    • La vérification des valeurs nulles doit s'effectuer sur toutes les colonnes. Décochez la case Nullable de toutes les colonnes.
    Note InformationsConseil : Pour rejeter les champs dont les données sont supérieures à la longueur maximale définie, décochez la case Trim the excess content of column when length checking chosen and the length is greater than defined length.
  10. 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.
  11. 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

Procédure

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.
Résultats dans la console.

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.