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

Writing a component creation tutorial

Hello all,
in the last few months I gathered a bit of experience in creating component,s so I thought it might be useful to others to (try to) summarize what I learnt.
I wrote the first part of the tutorial, you can find it here, I just went through the basic concepts so far, but indeed I may expand to more advanced ones if someone finds it useful.
The page can be found here : http://www.powerupbi.com/talend/componentCreation_1.html
Please feel free to send remarks, suggestions etc.

Labels (1)
  • Other

33 Replies
Anonymous
Not applicable
Author

Hello,
first of all, I would like to thank Saburo for the great tutorial on the Talend Component creation, I really like it and find it useful.
I have a question related to the part 9 of the tutorial - especially to the filtering of the output rows. I'm trying to implement this in TOS 5.6.1 and my job does not compile, because the row1 and row2 (in my code) are of the same type - row1Struct. The generated code contains these lines:
row1Struct row1 = new row1Struct();
row1Struct row2 = row1;
and later, when my custom component outputs this code:
if (nb_line_tTutorial8processing_1 % 2 == 0) {
  row2 = new row2Struct();
} else {
  row2 = null;
}
it won't compile because row2 is of type row1struct, not row2struct.
I would like to ask for an advice, why does my job behave like this. I've tried to experiment with component XML descriptor - HEADER attributes HAS_CONDITIONAL_OUTPUTS, DATA_AUTO_PROPAGATE and SCHEMA_AUTO_PROPAGATE, but with no success.
Any advice would be appreciated.
Thank you in advance and best regards,
Tomas
Anonymous
Not applicable
Author

It is nice tutorial.
Yes sure please update more in future.
It will be good for all of us.
Very well done.
_AnonymousUser
Specialist III
Specialist III

what type of components are useful while doing incremental update in mySQL
Anonymous
Not applicable
Author

@hansut (Tomas): This might answer your question regarding part 9 (where does the instruction "row1Struct row2 = row1;" come from and how to get rid of it).

 

After setting HAS_CONDITIONAL_OUTPUTS, DATA_AUTO_PROPAGATE and SCHEMA_AUTO_PROPAGATE in the HEADER and moving the changes to the palette, you might need to remove the previous component from the subjob and then add it again. Sync the schema where required after reconnecting the components. That worked for me.

 

As Saburo explained at the beginning of part 9, Talend assigns row1 to row2 automatically when you activate the data auto propagation. But this assignment resided in the code even after updating the header. I am using version 6.4.1 and I am absolutely new to Talend. Thank Saburo, I could now learn how to add components. @Saburo: Thanks, please keep up the good work.