fbpx

Utiliser les métadonnées

Dans ce tutoriel, nous allons aborder les métadonnées et vous expliquer comment et pourquoi elles peuvent être très bénéfiques dans vos différents jobs Talend.

Vous vous souvenez les différents jobs que nous avons créé ensemble ? Pour chaque composant de lecture ou d’écriture il fallait définir le schéma de données. Si je vous disais qu’il était possible de le définir une fois et qu’il pouvait être réutilisé dans TOUS les jobs de votre projet. Sympa non ? Si nous devions apporter une modification sur un des fichiers d’entrée, avec ce que l’on a fait précédemment il faudrait modifier le schéma dans chacun des composant de chaque job. Et bien avec les métadonnées, vous avec juste à modifier un seul paramètre. 




Comment utiliser les métadonnées ?

 

Commencez par ouvrir votre studio Talend et sélectionnez notre projet « tutoriels_talend ». 

Nous allons travailler sur le premier job que nous avons réalisé ensemble « Lecture_fichier ». Cependant je vous invite à le versionner en v0.2 car nous n’avions pas encore vu le versionnage lors de ce premier tutoriel. 



Normalement votre job devrait ressembler à cela. 



Regardez ce que j’ai encadré sur l’image ci-dessus. Nous n’en avons pas parlé jusqu’ici mais deux choix sont possibles : 

  • Built-in : Schéma crée à la volé pour chaque composant 
  • Référentiel : Utilise un schéma définit dans les métadonnées. 

Pour l’instant restez sur « built-in », nous allons d’abord créer le schéma. 

Pour se faire rendez-vous sur l’onglet « référentiel » puis « Métadonnées ». 



Talend nous offre la possibilité de créer des métadonnées pour une grande quantité de composant. Que ce soit pour des connexions à des bases de données, des fichiers délimités, positionnel, etc… 

Vous pouvez également remarquer la présence d’un « Schémas générique », nous en parlerons un peu plus loin dans ce tutoriel, mais retenez qu’il est utile lorsque l’on veut utiliser le même schéma pour plusieurs composants. 

 

Maintenant, ce qui nous intéresse, c’est de définir un schéma pour un fichier délimité. En effet nous utilisons le fichier « Personne.csv » dans ce job. 

Faites donc un clic droit sur « Fichier délimité » puis « Créer un fichier délimité ». Une fenêtre comme celle-ci devrait s’ouvrir. 



Vous avez un sentiment de déjà vu pas vrai ? Et bien c’est normal, cette fenêtre est identique à celle qui s’ouvre quand on crée un job. 

Vous pouvez d’ailleurs définir un Objectif ainsi qu’une Description et également versionner le fichier, tout comme un job. 

Remplissez les champs comme sur l’image ci-dessus et cliquez sur « Next ». 



Ici vous pouvez cliquer sur « Parcourir » afin de sélectionner votre fichier, et vous pourrez voir dans la partie basse de la fenêtre qu’il y a un visualiseur de fichier. 

Cliquez sur « next » pour pouvoir paramétrer votre schéma. 



Paramétrez-le comme l’image ci-dessus puis cliquez sur « next ». 

Ici vous allez pouvoir modifier le Nom, ajouter un commentaire et modifier le Schéma. Pour le coup nous allons laisser par défaut cette fois car cela n’a pas grand intérêt maintenant. 



Remarque : Le critère « Lenght » est calculée en fonction du nombre de caractères maximal pour chaque colonne. Cela veut dire que si vous ajoutez une personne dans votre fichier avec un nom ayant plus de 9 caractères il y aura une erreur. 

Comme nous n’allons pas le faire ici nous allons également laisser par défaut, sinon je vous conseille de modifier ce champ pour chacune des colonnes et y mettre une taille dépassant largement celle de vos valeurs. 

 

Cliquez sur « Finish » et observez votre onglet « Référentiel ». Le fichier délimité que vous venez de créer doit apparaitre. 



Retournez sur la configuration du composant tFileInputDelimited et modifiez le « Type de propriété» en Référentiel puis sélectionnez votre fichier délimité crée en cliquant sur l’icône encadrée. 



Exécutez le job et vous verrez qu’il devrait fonctionner comme avant. 

 

Maintenant si vous voulez apporter une modification il faudra passer par l’onglet « Référentiel » et modifier le fichier délimité créé. Si vous essayez de modifier le schéma par exemple, un pop-up s’ouvrira et vous ne pourrais le modifier que dans le « Référentiel » , ou bien repasser en « Built-in ». 



Vous pouvez maintenant sauvegarder et versionner votre job.  

Je vous invite maintenant à éditer les propriétés du second job que nous avons créé ensemble, « Ecriture_fichier » et de le versionner comme suit. 



Votre job devrait ressembler à la capture d’écran ci-dessous. 



Je vous invite à cliquer sur l’icône que j’ai encadré en rouge dans la capture d’écran. 



Remarquez que la fenêtre est similaire à celle que nous avons vu précédemment, vous pouvez donc remplir les champs et procéder comme précédemment. 



Vous avez pu voir que le chemin d’accès au fichier était déjà rempli. C’est normal puisqu’il est défini dans le composant. 



Le paramétrage est identique à ce que nous avons fait précédemment. 



Vous pouvez voir que votre fichier délimité a été créé. 

Revenez sur l’onglet « Composant » du tFileOutputDelimited et modifiez le schéma en « Référentiel ». 



Exécutez le job et assurez vous que le résultat soit identique. Rappelez-vous qu’ici nous créons un nouveau fichier, vous devez supprimer celui qui existe déjà. 

Sinon vous pouvez vous rendre dans les paramètres avancés du composant et décocher la case « Retourner une erreur si le fichier existe déjà ». 



Vous pouvez versionner le job. 

Bien nous avons maintenant définis deux métadonnées, il est temps de les utiliser dans un autre job. Tout d’abord éditez les propriétés du job « tMap » comme suit puis ouvrez-le. 



Changez les propriétés « built-in» en « référentiel » pour les deux tFileInputDelimited que nous avons dans ce job « Personne.csv » et « adresse.csv ». 



Souvenez-vous au début de ce tutoriel, je vous ai parlé des Schémas génériques, il est temps d’en créer un 



 Rendez-vous dans l’onglet « Référentiel » et créez un nouveau schéma générique. 



Après avoir rempli les informations cliquez sur « Next ». 



Ici vous devez ajouter manuellement les colonnes. Veillez également à ajouter une longueur pour les colonnes de type « String ». Cliquez sur « Finish » pour terminer la création du schéma. 



Rendez-vous maintenant sur le composant tFileOutputXML et modifié son schéma en type « Référentiel » et sélectionnez celui que nous venons de créer. 



Vous pouvez remarquer qu’un point d’exclamation est présent sur le composant de sortie. Si vous passez la souris dessus, vous verrez que le schéma d’entrée ne correspond pas au schéma du composant. Pour vous en assurer cliquez sur l’icône à droite du champ « Modifier le schéma ». 



Sélectionnez « voir le schéma « puis cliquez sur « OK ». 

En fait ce warning n’est pas grave en soit, c’est juste que les longueurs des chaines de caractères ainsi que la précision ne sont pas définies pour le composant précédent.



Pour corriger ça rendez-vous dans l’éditeur de mapping du tMap et changez les valeurs Lenght et Precision. 



Appliquez et cliquez sur « OK ». Ne propagez pas les données. 

Maintenant rendez-vous sur le tLogRow à la sortie du tMap et modifiez également le schéma en « Référentiel ». 



Et voilà le warning a maintenant disparu, vous pouvez exécuter le job et vérifier sa bonne exécution. 

Ce tutoriel est désormais terminé, nous vous invitons à regarder nos autres tutoriels !

Sur le même sujet...


Maitriser le tri des données

Apprenez à maîtriser grâce à ce tutoriel le tri des données sur Talend

Découvrir

Utiliser le composant tMap

Découvrez comment utiliser le composant tMap sur Talend

Découvrir