SplitText 2025.5.31.15

Bundle

org.apache.nifi | nifi-standard-nar

Beschreibung

Teilt eine Textdatei in mehrere kleinere Textdateien an Zeilengrenzen auf, die durch die maximale Anzahl von Zeilen oder die Gesamtgröße des Fragments begrenzt sind. Jede geteilte Ausgabedatei enthält nicht mehr als die konfigurierte Anzahl von Zeilen oder Bytes. Wenn sowohl „Line Split Count“ als auch „Maximum Fragment Size“ (angegeben sind, erfolgt die Trennung bei Erreichen des zuerst erreichten Grenzwerts. Wenn die erste Zeile eines Fragments die Maximum Fragment Size überschreitet, wird diese Zeile in einer einzigen geteilten Datei ausgegeben, die die konfigurierte maximale Größe überschreitet. Mit dieser Komponente kann auch festgelegt werden, dass jede Aufteilung eine Headerzeile enthalten soll. Headerzeilen können entweder durch Angabe der Anzahl der Zeilen, die den Header bilden sollen, oder mithilfe eines Header-Markers bestimmt werden, der mit den gelesenen Zeilen abgeglichen wird. Wenn eine solche Übereinstimmung vorliegt, wird die entsprechende Zeile als Header behandelt. Beachten Sie, dass bei der ersten fehlerhaften Übereinstimmung der Header-Markierung keine weiteren Übereinstimmungen mehr gesucht werden und die restlichen Daten als normale Zeilen für eine bestimmte Aufteilung geparst werden. Wenn nach der Berechnung des Headers keine Daten mehr vorhanden sind, besteht die resultierende Aufteilung nur aus Header-Zeilen.

Tags

split, text

Eingabeanforderung

REQUIRED

Unterstützt sensible dynamische Eigenschaften

false

Eigenschaften

Eigenschaft

Beschreibung

Header Line Count

Die Anzahl der Zeilen, die als Teil des Headers betrachtet werden sollen; diese Header-Zeilen werden in alle aufgeteilten Dateien dupliziert.

Header Line Marker Characters

Die ersten Zeichen in der Zeile der Datendatei, die eine Headerzeile kennzeichnen. Dieser Wert wird ignoriert, wenn die Anzahl der Headerzeilen ungleich Null ist. Die erste Zeile, die keine Header-Zeichen enthält, und alle folgenden Zeilen werden als Nicht-Header betrachtet.

Line Split Count

Die Anzahl der Zeilen, die zu jeder geteilten Datei hinzugefügt werden, ohne Headerzeilen. Bei einem Wert von Null muss die Maximum Fragment Size eingestellt werden, und die Zeilenzahl wird bei der Bestimmung der Aufteilung nicht berücksichtigt.

Maximum Fragment Size

Die maximale Größe jeder geteilten Datei, einschließlich der Headerzeilen. NOTE: Wenn eine einzelne Zeile diese Eigenschaft überschreitet (einschließlich Headers, falls zutreffend), wird diese Zeile in einem eigenen Split ausgegeben, der die Einstellung für die maximale Fragmentgröße überschreitet.

Remove Trailing Newlines

Ob Zeilenumbrüche am Ende jeder geteilten Datei entfernt werden sollen. Dies sollte auf „false“ gesetzt sein, wenn Sie beabsichtigen, die geteilten Dateien später zusammenzuführen. Wenn dies auf „true“ gesetzt ist und ein FlowFile generiert wird, das nur „leere Zeilen“ enthält (d. h. nur aus den Zeichen r und n besteht), wird das FlowFile nicht ausgegeben. Beachten Sie jedoch, dass, wenn Headerzeilen angegeben werden, das resultierende FlowFile niemals leer sein wird, da es aus den Headerzeilen bestehen wird. Daher kann ein FlowFile ausgegeben werden, das nur die Headerzeilen enthält.

Beziehungen

Name

Beschreibung

failure

Wenn eine Datei aus irgendeinem Grund nicht geteilt werden kann, wird die Originaldatei an diesen Zielort weitergeleitet und nichts wird an einen anderen Ort weitergeleitet.

original

Die ursprüngliche Eingabedatei wird an dieses Ziel weitergeleitet, wenn sie erfolgreich in 1 oder mehrere Dateien aufgeteilt wurde.

Splits

Die aufgeteilten Dateien werden an dieses Ziel weitergeleitet, wenn eine Eingabedatei erfolgreich in eine oder mehrere aufgeteilte Dateien aufgeteilt wurde

Schreibt Attribute

Name

Beschreibung

text.line.count

Die Anzahl der Textzeilen aus dem Original-FlowFile, die in dieses FlowFile kopiert wurden.

fragment.größe

Die Anzahl der Bytes aus dem ursprünglichen FlowFile, die auf diesen FlowFile kopiert wurden, einschließlich des Headers, falls zutreffend, der bei jedem Split dupliziert wird FlowFile

fragment.identifier

Alle geteilten FlowFiles, die aus demselben übergeordneten FlowFile erzeugt werden, erhalten dieselbe zufällig generierte UUID für dieses Attribut

fragment.index

Eine aufsteigende Nummer, die die Reihenfolge der aufgeteilten FlowFiles angibt, die aus einem einzigen übergeordneten FlowFile erstellt wurden.

fragment.count

Die Anzahl der aus dem übergeordneten FlowFile generierten FlowFiles

segment.original.filename

Der Dateiname des übergeordneten FlowFile

Siehe auch: