Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I was checking reload at each row logic for tmap in Talend document here
https://help.talend.com/reader/iUlm0MDXr5kWsTan1oPozg/C9gANC9ZnbIrGSvLsc~qbA
Reload at each row means all lookup's data will loaded every time for every incoming input record.
First point says : The lookup data flow is constantly updated and you want to load the newest lookup data for each record of main flow in order to get the new data after the join execution. Makes Sense..Cleared
Second point says :You have less rows in your main flow and have a large data set that comes from a database table in the lookup flow. It might cause an OutOfMemory exception if you use the Load once option. In this situation, the Reload at each row option will be considered.
If I load all lookup's data at once, it could show OutOfMemory exception. but why its saying that " the Reload at each row option will be considered." WHY ? Because in reload at each row does the same thing. Will load all lookup's data in memory. Then why its recommended for large lookup except from the first point ?
Please share ..!
Thanks
When enabling the "Reload at each row" option, a new option gets available in the input row. you can now add an expression (Expr.) and attach a "globalMap Key".
You now link the from (for example) the main input to the newly created expression and give it a proper name (globalMap Key).
This globalMap Key can now be used in your input, for example to select only 1 record from the "big" table
Select Field1, Field2 From table where key = "+globalMap.get(myKey1)+"
See attached screenshow