2017-02-21 1 views
0

Ich versuche Spalte merge von Dateien in einem Ordner mit Talend zu erreichen (Dateien sind lokal)Merge Spalten aus verschiedenen Dateien in Talend

Beispiel: -. 4-Dateien sind in einem Ordner gibt. (Es könnte auch 'n' Anzahl von Dateien geben)

Jede Datei hätte eine Spalte mit 100 Werten.

Nach der Zusammenführung hätte die Ausgabedatei 4 oder 'n' Spalten mit 100 Datensätzen.

Ist es möglich, diesen Weg mit Talend-Komponenten zusammenzuführen?

Versucht mit 2 Dateien in Tmap, multipliziert die Ausgabe Datensätze (der Datensatz in der ersten Datei * der Datensatz in der zweiten Datei).

Jede Hilfe wäre willkommen.

Danke.

Antwort

0

Sie müssen festlegen, wie Daten aus den verschiedenen Dateien verknüpft werden. Wenn die Zeilennummer N jeder Datei mit der Zeilennummer N der anderen Dateien übereinstimmen muss, müssen Sie für jede Datei eine Sequenz festlegen und die Sequenzen verbinden, um das Ergebnis zu erhalten. Vorsicht, Sie sind völlig abhängig von der Reihenfolge der Daten in jeder Datei.

Dann können Sie diesen Job haben:

tFileInputdelimited_1 --> tMap_1 --->{tMap_5 
tFileInputdelimited_2 --> tMap_2 --->{tMap_5 
tFileInputdelimited_3 --> tMap_3 --->{tMap_5 
tFileInputdelimited_4 --> tMap_4 --->{tMap_5 

In tMaps von 1 bis 4, wobei der Eingang mit dem Ausgang kopieren, und fügen Sie eine „Sequenz“ Spalte (Datentyp integer), um Ihre Ausgabe, füllen Sie es mit Numeric.sequence("IDENTIFIER1",1,1). Dann haben Sie 2 Spalten in der Ausgabe: Ihre Daten und eine eindeutige Sequenz. Achten Sie darauf, für jede Quelle unterschiedliche Bezeichner zu verwenden.

Dann in tMap_5, nur die verschiedenen Sequenzen verbinden, und erhalten Sie Ihre inputColumn.

+0

Danke für den Vorschlag, aber damit wird die Reihenfolge der Spalten in der Datei nicht beibehalten. Wurde ein tpivotToColumnsDelimited ausgeführt, um alle Datensätze mit derselben Sequenznummer zusammenzuführen. Versuchen Sie nun, die Reihenfolge der Spalten zu mischen, um die für die ursprüngliche Spalte zusammenzuführen. –

Verwandte Themen