Tout d’abord il faut connaitre la structure d’un composant Talend. Ils sont conçus en 3 parties :
- Begin
- Main
- End
Le Begin et le End ne s’exécutent qu’une fois, on peut ainsi y initialiser des valeurs. Le Begin ouvre la boucle et end la ferme.
Le main, lui, va traiter en boucle chaque ligne qu’il a en entré.
Maintenant voici la structure de ces 3 composants :
Le tJava n’a qu’un Begin donc il ne s’exécute qu’une fois . Il ne gère pas de flux de données (de type row) et est mis généralement seul ou en début de job et rattaché à un subjob par un trigger ( onComponentOk ou onSubjobOk)
Contrairement au tJava, le tJava Row n’a que la partie main. Il peut recevoir un flux et faire des traitement dessus en boucle. Il pourra créer un flux de sortie mais en l’initialisant. (exemple : row5.champ = row4.champ). Le schéma en entrée et en sortie sera le même. Ce composant ne peut être qu’en milieu de job.
Et enfin le tJavaFlex est similaire au tJavaRow. La différence est qu’il a la particularité de créer automatiquement un flux de données en sortie à partir du flux de données en entrée (donc pas besoin d’initialisation). Ce composant a à la fois, le begin, main et end. Il peut donc être mis seul ou en début de job, ou même au milieu en prenant en compte le flux de données. c’est le plus flexible des trois.
J’espère que maintenant vous serez plus apte à développer votre code dans les composants de Talend.
19 avril 2010 à 18 h 27 min
C’est bien expliqué ; néanmoins un exemple des trois applications aurait été sympa ; un prochain peut être ?
19 avril 2010 à 21 h 22 min
Pourquoi pas j’y penserai…Merci pour ton commentaire
26 avril 2011 à 9 h 11 min
Je vous remercie de cet article , c m’a permis de résoudre un problème délicat
11 juin 2012 à 14 h 16 min
Pourquoi le TJAVA accepte un flux en entré puisqu’il ne sait pas les gérer?
17 janvier 2013 à 10 h 55 min
Merci pour l’explication .Très bon travail