One Star

multiple tAgregateRow and tMap components

Hello,
I'm using Talend 2.2.0 and i have 4 aggregate components i want the output of these four aggregate components to be sent to a tMap component. i want the first aggregate out put to be the main and the 3 others as lookup, the tMap component has to do a lookup on key fields in order to generate one output, this output contains my four measures (look the picture) -calculated by the aggregate components- and the key fields. Once i have this output i have to use an other tMap to do a lookup with the dimension tables already filled in and then the data will be loaded into the fact table.
My problem is that when i connect the first tAggregateRow component with the tMap component i cannot then connect the other tAggregateRow components to the tMap component. So what's the problem? is it possible to connect multiple tAggregateRow components to one tMap component??
Note: i was using TOS 2.1.2 and i had the same problem
Thanks in advance!
Best Regards
hamma
12 REPLIES
One Star

Re: multiple tAgregateRow and tMap components

Hey Guys!
no reply? Smiley Happy please if someone has an idea help me
Thanks in advance
hamma
Employee

Re: multiple tAgregateRow and tMap components

Hello,
You can't have 2 output of the same component (the tMap) used as input and lookup of a tMap.
This is not a bug, cycle are not allowed in jobs.
I'm very curious to know what process should lead to such a job.
Nevertheless, if you really need it, use temp files or db tables.
Regards,
One Star

Re: multiple tAgregateRow and tMap components

Thanks for the reply but I'm not trying to connect directly the tMap component with the second tMap component, from the first tMap i have four outputs to four tAggregateRow components and i want the output of these last to be sent to the second tMap component (see the picture above). is that possible? i don't see that there is a loop, and what do u mean with loops?
Thanks in advance!
Best regards.
Hamma
Employee

Re: multiple tAgregateRow and tMap components

Regards,
One Star

Re: multiple tAgregateRow and tMap components

Thanks, but i don't think that is a loop, because i think that we have to consider the direction of arrows, so we have a loop when we have the arrows in the same direction drawing a circle. and the link between the tAggregate component and the second tMap (the black line) is from the tAggregate -----> tMap, so i don't think that this is a loop or maybe the definition of loops in Talend is different, thanks to correct me the definition if I'm wrong!
Thanks in advance!
Best Regards
Hamma
Employee

Re: multiple tAgregateRow and tMap components

Nevertheless how you call it, it' not allowed because tMap needs to load his lookup before the main row.
Your first tMap sends data row by row to the four outputs and the second tMap can't load fully his lookup before starting his process.
My advice is still to use temporary files or databases.
Regards,
One Star

Re: multiple tAgregateRow and tMap components

Thanks for the reply, now i got it
thanks!
One Star

Re: multiple tAgregateRow and tMap components

do you find a solution to do this ?
Community Manager

Re: multiple tAgregateRow and tMap components

do you find a solution to do this ?

For this situation, You can copy and paste the input component with same properties. See the screenshot.
Best regards
shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
One Star

Re: multiple tAgregateRow and tMap components

there is no tAgregateRow in your example or i've got problem with my eyes Smiley Happy
Community Manager

Re: multiple tAgregateRow and tMap components

Hi
there is no tAgregateRow in your example or i've got problem with my eyes

Smiley Happy It's not the reason due to the component. In fact, Talend do not allow any cycle, see 1983
Best regards
shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
One Star

Re: multiple tAgregateRow and tMap components

I find it more than a little amusing that the two threads explaining why you can't create circular references reference each other.
To continue the education of former Ab Initio developers (me), I wanted to know if Talend supports a concept of a phase break. My recollection of AI is that a phase break would be required before rejoining output from the first tMap split. Ab Initio lands the flows temporarily to disk and waits for all data to become available, then proceeds with the merge in the secondary phase. It seems that with Talend we're required to do this temp file landing chore ourselves, but the logic is the same. An intermediate file would be handy here, but we would still require some way to enforce a process blocking until completion.
Chris.