Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to re-use the same tOracleInput within the same job

Hello everyone. I am a beginner of the Talend - Open studio. I created my first Job using Talend which looks like this


0683p000009MFn9.png


I used multiple tOracleInput components in the Job. But two of the tOracleInputs SI_TABLE and ECCN_MAP are duplicated. I tried to re-use the existing component second time by connecting the same SI_TABLE to tMap_2 and tMap_4. Similarly I tried to connect the same ECCN_MAP to both tMap_3 and tMap_4. But the UI is not allowing to do so.
My basic requirement is to re-use the same oracle table data at multiple stages in the Job. Is there any alternative solution. Due to this problem, I had to use a another instance of the same tOracleInput component for the tables SI_TABLE and ECCN_MAP. Please help

Labels (2)
5 Replies
Anonymous
Not applicable
Author

Pass the Output from tOracleInput to tMap. From tMap component you can create multiple copies of the inputs to be used across different flows. 
Anonymous
Not applicable
Author

Why are you concerned by this? There are ways to do this but they depend on what your concern is. Leaving it like this would be fine unless you are worried about multiple connections, generation of primary keys in an order, etc.
Anonymous
Not applicable
Author

@rhall,
My concern is that the tables SI_TABLE and ECCN_MAP contains about 25K records and each instance of these tOracleInputs are getting executed sequential as per the job design and it is consuming double the time and memory to fetch the same copy of the oracle table data.

If I need to create much more jobs and have to create duplicate instances of the sampe tOracleInput, it consumes lot of time for fetching the same data multiple times.
Thanks
Anonymous
Not applicable
Author

OK. What is the difference between the data in Out1 and Out2 from tMap1? Are they the same(....I am guessing not)? If they are the same, why are you splitting? 

I take it that you want to write to two separate files? Is that the case?

Regardless of the above (the answers to these questions *may* lead to better solutions), you can use tHashOutput and tHashInput components to limit your loading from the database. Hook up your SI_TABLE and ECCN_MAP Oracle components to tHashOutput components. These store your data in memory. The tHashInput components can be used to read from that memory source. So you can reuse the same data again and again without the concern of reading it again and again.
Anonymous
Not applicable
Author

@rhall
They are different outputs. I have put a filter expression to reject some unqualified data and let the qualified data to pass through out1.
In the Out2, I am catching the rejected records and doing post process using the data from SI_TABLE (row5) and passing out the processed data via out4.

Thanks