One Star

[resolved] Why doesn't tHDFSInput etc. have a Reject flow or a Die On Error?

For the input components in Talend DI like tFileInputDelimited, they have a "Reject" flow and a "Die on Error" option. If a single row in the incoming data does not match the schema defined in the input component, the job will die if the "Die on Error" option is selected, or the individual rows that are non-conforming will be sent to the Reject flow instead of the Main flow.
Why doesn't tHDFSInput have this? In addition, tMongoDBInput, tCassandraInput, tCoucbDBInput, tCouchBaseInput, tHBaseInput, and I'm assuming all the Big Data input components do not have "Die on Error" or a "Reject" flow.
1 ACCEPTED SOLUTION

Accepted Solutions
Moderator

Re: [resolved] Why doesn't tHDFSInput etc. have a Reject flow or a Die On Error?

Hi,
For tFileInputXXX components(tFileInputDelimited), there is processing of string to object. That's the reason why the rejects row is available in tFileInputXXX components.
Rejects row link gathers the data that does NOT match the filter or are not valid for the expected output. This link allows you to track the data that could not be processed for any reason (wrong type, undefined null value, etc)
But for t<DB>Input components, you can read data stucture from known table stucture(Restrieve table schema). There is no processing of String to object. So "Rejects" is available in t<DB>output component to avoid table struct conflict between source DB and target DB,etc.
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
4 REPLIES
Moderator

Re: [resolved] Why doesn't tHDFSInput etc. have a Reject flow or a Die On Error?

Hi,
As a matter of fact, "Die on error" or "Reject" option is available on DB output component not DB Input component.
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: [resolved] Why doesn't tHDFSInput etc. have a Reject flow or a Die On Error?

Hi,
As a matter of fact, "Die on error" or "Reject" option is available on DB output component not DB Input component.
Best regards
Sabrina

Hi Sabrina,
Do you know why they are not available on the Input components? The reason I ask is that I like to use the "Reject" Flow and the "Main" flow with the tFileInputDelimited component, for example, to detect rows that do not conform to the schema. I am unable to do that directly with the Big Data components (and the Oracle/DBInput components as well) and was curious as to why this feature was unavailable?
Moderator

Re: [resolved] Why doesn't tHDFSInput etc. have a Reject flow or a Die On Error?

Hi,
For tFileInputXXX components(tFileInputDelimited), there is processing of string to object. That's the reason why the rejects row is available in tFileInputXXX components.
Rejects row link gathers the data that does NOT match the filter or are not valid for the expected output. This link allows you to track the data that could not be processed for any reason (wrong type, undefined null value, etc)
But for t<DB>Input components, you can read data stucture from known table stucture(Restrieve table schema). There is no processing of String to object. So "Rejects" is available in t<DB>output component to avoid table struct conflict between source DB and target DB,etc.
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: [resolved] Why doesn't tHDFSInput etc. have a Reject flow or a Die On Error?

Hi,
For tFileInputXXX components(tFileInputDelimited), there is processing of string to object. That's the reason why the rejects row is available in tFileInputXXX components.
Rejects row link gathers the data that does NOT match the filter or are not valid for the expected output. This link allows you to track the data that could not be processed for any reason (wrong type, undefined null value, etc)
But for t<DB>Input components, you can read data stucture from known table stucture(Restrieve table schema). There is no processing of String to object. So "Rejects" is available in t<DB>output component to avoid table struct conflict between source DB and target DB,etc.
Best regards
Sabrina

Ok, great.
Thanks Sabrina!