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

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Enrich CSV file with data from MySQL

Hi,
I'm quite a noob at Talend. I just wanted to enrich a csv file with data from a (rather big) db. I wish I could iterate row by row, execute a select on db an SQL request, and then fetch the few data I miss for each row.
How can I do that ?
Thanks for help.
Regards,
Yann
Labels (3)
3 Replies
Anonymous
Not applicable
Author

tFileInputDelimited -> tMap -> tFileOutputDelimited
^
|
tMysqlInput
Use tFileInputDelimited to read in the CSV file. This becomes the main flow into a tMap. Use a tmysqlInput to read the data from the mySql DB. This is called a "lookup" flow. Inside the tMap, use the key fields from the mainflow to join to the mySql lookup flow. In the output from the tMap, coy the fields from the main flow, and any new fields from the lookup flow.
READ THE MANUAL for details of how to use a tMap. There is an excellent description of how to do exactly what you are trying to do, including examples.
Anonymous
Not applicable
Author

Hi Wayne,
Thanks for your help. I just can figure out how not to load the whole DB before injecting to tMap (and thus generating an out of memory error, for it is a 20 Gb DB)...
I might have a solution using iterator, but I cant' find out how I could do that (iterate on csv rows, requesting mySQL, merging row, writing to delimited file).
Anonymous
Not applicable
Author

Hi,
Just figured it out :
tInputFileDelimited -----row1-----> tFlowToIterate ------------> tMySQLInput ---out1---> tMap --out2----> tOutputFileDelimited
(tMySQLIput uses row1 entry as input for sql request)
(tMap merges row1 + out1)
tOutputfileDemilimited is append of course