I have a job which imports a CSV file and finally saves the file into an Oracle database. See the screenshot below for to get an idea of what the job does. - I create a join in tMap_2 - "known" records go to OOC_update - "new" records go to Stock_output So far, so good. However the performance of this job is 600 rows/s. When I enable "parallel execution" in the tOracleOutput components, the performance increases, which is good! However I was wondering what the consequences are when I enable parallel execution. Can someone please answer the questions below: 1. How do I count the amount of inserted rows of a "parallized" tOracleOutput component? When I deactivate parallel execution, I can get the amount of inserted products with this statement: ((Integer)globalMap.get("tOracleOutput_2_NB_LINE")). This doesn't seem to work anymore, when I enable parallel execution. Why not? 2. Also the "rejected records"-flow is gone, why is that? Thanks in advance.
Hi All Sorry for delay, I think I have missed your topic. For the two questions listed in this topic, take a look at the component manual, there is a warning message "When parallel execution is enabled, it is not possible to use global variables to retrieve return values in a SubJob". https://help.talend.com/search/all?query=tOracleOutput&content-lang=en About reject link, I have asked our developer and confirmed that this reject link can't be used together with 'parallel execution' option, because each execution is in a different thread. Shong
---------------------------------------------------------- Talend | Data Agility for Modern Business
You can get the row count by inserting a tJavaRow before the output. The tJavaRow is not parallelized so you can get the number of rows that went through it, using it as a proxy counter for the tOracleOutput.