Талдау - көпшілікке бір жол, шығу жолдарының айнымалы саны

Background: It's common in Talend to use something like tSplitRow to map one row with many fields into multiple rows. A row with fields:

Date | Name | MorningPhone | Day Phone | EveningPhone ...could be split into:

Date | Name | Phone ... and you'll always have 3 resulting rows from one row.


Question: What if I want number of rows from a variable number of fields?

I have a schema: UniqueID | FieldSet where FieldSet is a delimited field of columns divisible by nine. If there are 45 fields, in this delimited column, I want 5 rows. 81 fields => 9 rows.

Мен өрістерді талдау үшін tJavaRow қолдануға тырысамын, бірақ өрістердің тиісті санын жасау үшін tSplitRow арқылы оны қалай біріктіру керектігін білмеймін.

Идеялар? Рахмет!

0

2 жауаптар

Мен javaRow-ді қолдандым - бұл арнайы пішімделген жолды жаңа кестеге айналдырды. Қапшықты сұрыптау, бірақ ол жұмыс істеді.

String input = "";
String OUT = "";


try {
      input = java.net.URLDecoder.decode(input_row.CustomField16, "ASCII");

} catch (UnsupportedEncodingException e) {
      e.printStackTrace();
}

String[] pieces = input.split(";");

/*for(int a=0; a
2
қосылды
Бұл әдіс ескірген. Төмендегі жауапты қараңыз
қосылды автор Daniel San, көзі
Мұны істеудің жақсы жолы туралы ойлау мүмкін емес.
қосылды автор drmirror, көзі

Бұл сұрақ туындағаннан кейін талданың қалыптасуы және оны орындаудың әлдеқайда жақсы жолы - tNormalize компонентін пайдалану.

enter image description here

Біріншіден, біз келесідей файлды пайдаланамыз:

pepe|123|123
juan|454|2423|34343|5454

Бұл файлды tFileInputRegex құрамдас бөлігімен оқып шығамыз. Біз тұрақты өрнек пен схеманы анықтауымыз керек. Тұрақты өрнек:

"^([^|]+)\\|(.+)"

Схема:

enter image description here

Содан кейін біз tFileInputRegex-ді tNormalize арқылы қосамыз. Бөлгішті келесіге орнатамыз:

"\\|"

Ақыр соңында біз өнімді қажет болғанда пайдаланамыз.

1
қосылды