Four Stars

split row (comma delimiter) into column and the first row will be the header

Hi everyone,

 

I have an issue related to the fact that I cannot find any solution to split one row from a Tmap component to multiple column (the number of column equal to the number of commas + 1).

It's easier with an example. I have this job:

 

tFileInputDelimited -> tMap -> tLogRow

 

The output (from the tMap) is:

col1, col2, col3, ...., col500

val1, val2, val3, ..., val500

 

Now, I want to split the first row in order to obtain 500 columns and for each column created, to associate the good value, i.e in col1 the val1, col2 the val2 etc.

 

I cannot create a schema the for the tFileInputDelimited because if I want to use another file with 600 columns instead of 500, this won't work properly.

 

Due to the fact that I have a large number of columns, I cannot "create by myself" via a .split in the Tmap the columns.

 

For information, I have Talend Open Studio, therefore, I cannot use the "dynamic schema" feature.

 

Thank you in advance

 

PS: I'm a beginner in Talend, therefore, I need details if you have a solution.

 

  • Data Integration
2 REPLIES
Community Manager

Re: split row (comma delimiter) into column and the first row will be the header

Hi
tExtractDelimitedFields can be used to split one column to multiple columns, but you need to know how many columns you need to split and define them on the component before the job execution. So, t is impossible to create only a single subjob to process multiple files which has different structure.

Regards
Shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
Seven Stars TRF
Seven Stars

Re: split row (comma delimiter) into column and the first row will be the header

Sound like dynamic schema which is not available with TOS, only for Enterprise edition.

TRF