Four Stars

How to send only new ETL Error from database query

Hi every one,

 

i have query which give me information of ETL Error like this:

error notification.PNG

i create a Job: tOracleinput --->tsendMail which sends this Error logs to my Email.

What i want now is that: when i execute the Job again and again, it sends me only new Error logs. The Error logs which has been sent, will be not send again.

 

Can you please help me?

Thankyou very much!

4 REPLIES
Forteen Stars TRF
Forteen Stars

Re: How to send only new ETL Error from database query

You need to store the errors into a delimited text file (or anything else) then, next time the job runs, search the selected into this file, add new ones and send your email for these new errors only.

You just need a tMap with an inner join to catch new records.

General design should looks like this:

                         tFileInputDelimited
                                  |
tOracleInput-(main)-->tMap-->tHashOutput(new errors)
(onSubjobOK)
tHashInput-->tReplicate-+->tFileOutputDelimited(append new errors)
                        |
                    tJavaRow(prepare email)-->tSendMail

 


TRF
Four Stars

Re: How to send only new ETL Error from database query

Thankyou very much?
Can you please tell me what i need to do if i store the error on a table in database. How does it look like?.
Im beginner with talend.
Nine Stars

Re: How to send only new ETL Error from database query

Read about tOracleCDC - help.talend.com/reader/NNO~fmVQU4rlkF9Depfdxw/….
Note - this is only available with the subscribed version.

One more option would be to change your Oracle source query to fetch only the newly 
inserted records from the table and let Talend do the rest.

Forteen Stars TRF
Forteen Stars

Re: How to send only new ETL Error from database query

Just add a tOracleOutput component after the tFileOutputDelimited to add new lines into your table.


TRF