|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juin 2007 Messages : 309 ![]() |
Bonjour,
Est-il possible de rediriger la sortie d'un tMap dans un espace temporaire (sans passer par un fichier) ? Car je dois faire plusieurs liens en entrée et agréger les données en sortie, et je ne vois pas d'autres méthode. merci. |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() |
Bonjour, il y a des composants qui permettent de remplir et de lire un tableau en mémoire, je ne les ai jamais testés mais je pense que tu pourras faire ce que tu veux avec.
Par défaut, il sont cachés et ne sont donc pas accessibles par défaut dans la palette. Pour les afficher, il faut aller dans Window -> Preferences -> Talend -> Designer et cocher Display hidden components(need restart) et comme indiqué il faut ensuite redémarrer Talend. Tu verras alors dans la catégorie Misc de la palette deux nouveaux composants : - tArray : remplit un tableau - tArrayIn : lit un tableau Cependant, je pense qu'il faut faire attention car s'il y a énormément de données il faut beaucoup de mémoire. Enfin il y a le temps de voir venir quand même |
|
|
00
|
|
|
#3 | ||
|
Membre éclairé
![]() |
Je viens de tester et j'ai rencontré un problème. Les classes utilisées pour les lignes des tableaux ne sont pas les mêmes pour tArray et tArrayIn.
J'ai donc modifié rapidement le composant tArrayIn : il faut donc maintenant lui ajouter le nom de la classe. Le nom de la classe pour tArrayIn doit être le nom du lien entrant de tArray suivi de Struct. Par exemple : Code :
(Le lien pour télécharger le composant se situe un peu plus loin dans la discussion) |
||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : juin 2007 Messages : 309 ![]() |
Merci de ta réponse et de tes modifs
.Maintenant je n'arrive aps à faire marcher le tdenormalize pour concaténer mes champs :il me dit qu'in ne peut pas convertir un entier en string et inversement. Je ne comprends pas trop quel schéma il faut mettre en entrée et en sortie... |
|
|
00
|
|
|
#5 | ||||||
|
Membre éclairé
![]() |
Citation:
Citation:
Code :
output.champ1 = input.champ1.toString(); En ce qui concerne le schéma de sortie, il s'agit du même que le schéma en entrée (donc il ne contient que des champs de type String) sauf que dans les champs agrégés (ceux qui ne sont pas utilisés dans la propriété Group By) il y a une concaténation des valeurs de tous les enregistrements. Par exemple : - si en entrée on a: Code :
Code :
|
||||||
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : juin 2007 Messages : 309 ![]() |
Effectivement c'etait un problème de type.
J'obtiens le contenu suivant : ID_NUM_NATIONAL;ID_SERVICE;ID_SERVICE_PRO;ID_SERVICE_GEST 12549;15;0;15 12548;15;0;15 12523;15;0,5;10,16 12524;15;0;15 12525;15;0;15 mais je voudrais avoir juste cela : ID_NUM_NATIONAL;SORTIE 12549;15,0,15 12548;15,0,15 12523;15,0,5,10,16 Est-ce possible ? Merci. |
|
|
00
|
|
|
#7 | |||
|
Membre éclairé
![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : juin 2007 Messages : 309 ![]() |
c'est justement ce que j'etais en train de faire ^^ tJavRow power
|
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() |
Bonjour,
le composant tArrayIn par défaut de Talend est utilisé dans les tAggregateRow. Par conséquent les modifications que j'ai apportées à ce composant causent une dysfonctionnement des tAggregateRow. Pour éviter ce désagrément, j'ai renommé le composant afin qu'il puisse cohabiter avec le tArrayIn par défaut. Voici la nouvelle version :my_tArrayIn.zip |
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Inscription : avril 2007 Messages : 24 ![]() |
Bonjour,
Bouvda, le composant tArray modifié est un bon moyen. Je me permet simplement de signaler qu'il existe également les composants tHashInput / tHashOutput dans les composants cachés qui peuvent certainement répondre à cette problématique. Michaël. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com