Ich habe einen Job erstellt, der die Daten aus einer Datei liest und basierend auf den eindeutigen Daten einer bestimmten Spalte den Datensatz in viele Dateien aufteilt.Zählen Sie die Anzahl der Zeilen für jede Datei zusammen mit dem Dateinamen in Talend
Ich bin in der Lage, die Anforderung durch die unten Job acheive:
nun von diesem Job, der die Ausgabe in mehrere Dateien aufgeteilt, was ich will, ist eine Unter Job hinzuzufügen, die geben würde, Ich zwei Spalten.
In der ersten Spalte möchte ich den Namen der Dateien, die ich in meinem Hauptauftrag erstellt habe und in der zweiten Spalte möchte ich die Anzahl der Zeilen, die jede erstellte Ausgabedatei hat.
Um dies zu erreichen, benutzte ich tflowmeter und um das Ergebnis der Zählung abzufangen, benutzte ich den tFlowmeterCatcher, der mir korrekte Ergebnisse für die Anzahl der Zeilen für die entsprechenden Ausgabedateien gibt, aber den letzten Dateinamen in allen angibt Dateien, die ich für die Zählungen generiert habe.
Wie bekomme ich die richtigen Dateinamen und die entsprechende Zeilenanzahl.
Können Sie '(String) globalMap.get (" tFileInputPositional_1_CURRENT_FILE ")' verwenden, um den aktuellen Dateinamen im zweiten Fluss zu erhalten? Füge es einfach als Wert in 'tMap_2' hinzu. – tobi6
@ tobi6 Wenn ich den globalen Parameter verwende, den Sie vorgeschlagen haben, gibt er mir einen Nullwert. Was ich verwendet habe, war ((String) globalMap.get ("row7.newColumn1")) Parameter, aber es gibt mir den letzten Dateinamen für alle eindeutigen Datensätze. Kannst du mit einer anderen Logik helfen? – user3454116
Ok, ich hätte '(String) globalMap.get (" tFileInputPositional_1_CURRENT_FILE ")' da nehmen sollen, aber das wird nicht so gut funktionieren, weil tFlowMeterCatcher nach dem oberen Job ausgeführt wird. Was versuchst du zu erreichen? – tobi6