MergeRecord 2025.5.31.15

Bundle

org.apache.nifi | nifi-standard-nar

Beschreibung

Dieser Prozessor fügt mehrere datensatzorientierte FlowFiles zu einem einzigen FlowFile zusammen, der alle Datensätze der Eingabe-FlowFiles enthält. Dieser Prozessor arbeitet, indem er „Bins“ erstellt und dann FlowFiles zu diesen Bins hinzufügt, bis sie voll sind. Sobald ein Bin voll ist, werden alle FlowFiles zu einem einzigen Ausgabe-FlowFile zusammengefasst, und dieses FlowFile wird an die Beziehung „merged“ weitergeleitet. Ein Bin besteht aus potenziell vielen „like FlowFiles“. Damit zwei FlowFiles als „ähnliche FlowFiles“ betrachtet werden können, müssen sie dasselbe Schema (wie vom Record Reader identifiziert) und, falls die Eigenschaft <Correlation Attribute Name> festgelegt ist, denselben Wert für das angegebene Attribut aufweisen. Weitere Informationen finden Sie unter „Prozessorverwendung“ und „Weitere Details“. NOTE: Dieser Prozessor sollte NOT mit Cron Driven für die Planungsstrategie konfiguriert werden.

Tags

content, correlation, event, merge, record, stream

Eingabeanforderung

REQUIRED

Unterstützt sensible dynamische Eigenschaften

false

Eigenschaften

Eigenschaft

Beschreibung

Attribute Strategy

Legt fest, welche FlowFile-Attribute dem Bundle hinzugefügt werden sollen. Wenn „Keep All Unique Attributes“ ausgewählt ist, wird jedes Attribut für jedes FlowFile, das gebündelt wird, beibehalten, es sei denn, sein Wert steht im Widerspruch zu dem Wert eines anderen FlowFile. Wenn „Keep Only Common Attributes“ ausgewählt ist, werden nur die Attribute beibehalten, die auf allen FlowFiles im Bundle mit demselben Wert vorhanden sind.

correlation-attribute-name

Falls angegeben, werden zwei FlowFiles nur dann zusammengelegt, wenn sie denselben Wert für dieses Attribut haben. Wenn nicht angegeben, wird die FlowFiles in der Reihenfolge gebündelt, in der sie aus der Warteschlange abgerufen werden.

max-bin-age

Das maximale Alter eines Bin, das den Trigger für einen Bin auslöst. Das erwartete Format ist <duration> <time unit> wobei <duration> eine positive ganze Zahl ist und die Zeiteinheit eine der folgenden ist: Sekunden, Minuten, Stunden

max-bin-size

Die maximale Größe für das Bundle. Wenn nicht angegeben, gibt es kein Maximum. Dies ist eine „weiche Grenze“, da beim Hinzufügen eines FlowFile zu einem Bin alle Datensätze in diesem FlowFile hinzugefügt werden, sodass diese Grenze um bis zu der Anzahl der Bytes im letzten Eingabe-FlowFile überschritten werden kann.

max-records

Die maximale Anzahl von Datensätzen, die in einen Bin aufgenommen werden sollen. Dies ist eine „weiche Grenze“, da beim Hinzufügen eines FlowFIle zu einem Bin alle Datensätze in diesem FlowFile hinzugefügt werden, sodass diese Grenze um bis zu der Anzahl der Datensätze im letzten eingegebenen FlowFile überschritten werden kann.

max.bin.count

Gibt die maximale Anzahl von Bins an, die gleichzeitig im Speicher gehalten werden können. Diese Zahl sollte nicht kleiner sein als die maximale Anzahl gleichzeitiger Threads für diesen Prozessor, da sonst die erstellten Bins oft nur aus einem einzigen eingehenden FlowFile bestehen.

merge-strategy

Gibt den Algorithmus an, der zum Zusammenführen von Datensätzen verwendet wird. Der „Defragment“-Algorithmus kombiniert Fragmente, die durch Attribute verbunden sind, wieder zu einem einzigen zusammenhängenden FlowFile. Der „Bin-Packing Algorithmus“ generiert ein FlowFile, das mit beliebig gewählten FlowFiles gefüllt ist.

min-bin-size

Die Mindestgröße des Bin

min-records

Die Mindestanzahl der Datensätze, die in einen Bin aufgenommen werden sollen

record-reader

Gibt den Controller Service an, der zum Lesen eingehender Daten verwendet werden soll

record-writer

Gibt den Controller Service an, der für das Schreiben der Datensätze verwendet werden soll

Beziehungen

Name

Beschreibung

failure

Wenn das Bundle nicht erstellt werden kann, werden alle FlowFiles, die zur Erstellung des Bundles verwendet worden wären, in den Fehlerzustand überführt

zusammengeführt

Das FlowFile, das die zusammengeführten Datensätze enthält

original

Die FlowFiles, die zur Erstellung des Bundles verwendet wurden

Schreibt Attribute

Name

Beschreibung

record.count

Die zusammengeführte FlowFile hat ein Attribut „record.count“, das die Anzahl der Datensätze angibt, die in das FlowFile geschrieben wurden.

mime.type

Der vom Record Writer angegebene MIME-Typ

merge.count

Die Anzahl der FlowFiles, die in diesem Bundle zusammengeführt wurden

merge.bin.age

Das Alter des Bins in Millisekunden, als er zusammengeführt und ausgegeben wurde. Dies ist die längste Zeit, die jedes FlowFile in diesem Bundle in diesem Prozessor gewartet hat, bevor es ausgegeben wurde

merge.uuid

UUID des zusammengeführten FlowFile, die zu den Attributen des Original-FlowFiles hinzugefügt wird

merge.completion.reason

Mit diesem Prozessor können mehrere Schwellenwerte für die Zusammenführung von FlowFiles konfiguriert werden. Dieses Attribut gibt an, welche der Schwellenwerte dazu geführt haben, dass die FlowFiles zusammengeführt wurden. Eine Erläuterung der einzelnen möglichen Werte und ihrer Bedeutung finden Sie in der Dokumentation zur Verwendung des Prozessors und auf der Seite „Zusätzliche Details“.

<Attributes from Record Writer>

Jedes Attribut, das der konfigurierte Record Writer zurückgibt, wird dem FlowFile hinzugefügt.

Anwendungsfälle

Kombinieren Sie viele beliebige Datensätze, um eine einzige, größere Datei zu erstellen

Anwendungsfälle mit anderen Komponenten

Kombiniert viele Datensätze, die denselben Wert für ein bestimmtes Feld in den Daten haben, um eine einzige, größere Datei zu erstellen

Siehe auch: