MergeContent 2025.5.31.15¶
Bundle¶
org.apache.nifi | nifi-standard-nar
Beschreibung¶
Führt eine Gruppe von FlowFiles auf der Grundlage einer benutzerdefinierten Strategie zusammen und verpackt sie in einem einzigen FlowFile. Es wird empfohlen, den Prozessor nur mit einer einzigen eingehenden Verbindung zu konfigurieren, da eine Gruppe von FlowFiles nicht von FlowFiles in verschiedenen Verbindungen erstellt wird. Dieser Prozessor aktualisiert das Attribut „mime.type“ nach Bedarf. NOTE: Dieser Prozessor sollte NOT mit Cron Driven für die Planungsstrategie konfiguriert werden.
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. |
Bin Termination Check |
Gibt einen Expression Language.Ausdruck an, die für jedes FlowFile ausgewertet werden soll. Wenn das Ergebnis des Ausdrucks „true“ ist, wird der Bin, dem das FlowFile entspricht, beendet, auch wenn der Bin die Mindestanzahl an Einträgen oder die Mindestgröße nicht erreicht hat. Beachten Sie, dass das FlowFile, die die Beendigung des Bins auslöst, selbst größer als die maximale Bin-Größe ist, in einen eigenen Bin verschoben wird, ohne die Beendigung anderer Bins auszulösen. Bei Verwendung dieser Eigenschaft wird empfohlen, Priorisierer in den Verbindungen des Ablaufs zu verwenden, um sicherzustellen, dass die Reihenfolge wie gewünscht ist. |
Compression Level |
Legt den Komprimierungsgrad fest, der beim Verwenden des Zip-Merge-Formats verwendet werden soll. Wenn das Zip-Merge-Format nicht verwendet wird, wird dieser Wert ignoriert. |
Correlation Attribute Name |
Falls angegeben, werden ähnliche FlowFiles zusammengelegt, wobei „ähnliche FlowFiles“ bedeutet, dass FlowFiles 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. |
Delimiter Strategy |
Legt fest, ob Header, Footer und Demarcator auf Dateien verweisen sollen, die den entsprechenden Inhalt enthalten, oder ob die Werte der Eigenschaften als Inhalt verwendet werden sollen. |
Demarcator File |
Dateiname oder Text, der das zu verwendende Trennzeichen angibt. Wenn nicht angegeben, wird kein Trennzeichen geliefert. |
FlowFile Insertion Strategy |
Wenn ein bestimmtes FlowFile den Bin basierend auf der Eigenschaft <Bin Termination Check> beendet, gibt sie an, wo das FlowFile in den Bin aufgenommen werden soll. |
Footer File |
Dateiname oder Text zur Angabe des zu verwendenden Footer. Wenn nicht angegeben, wird keine Fußzeile geliefert. |
Header File |
Dateiname oder Text zur Angabe des zu verwendenden Header. Wenn nicht angegeben, wird kein Header geliefert. |
Keep Path |
Wenn Sie das Zip- oder Tar-Merge-Format verwenden, geben Sie an, ob die Pfade der FlowFiles in den Namen der Einträge enthalten sein sollen oder nicht. |
Max Bin Alter |
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 |
Maximum Group Size |
Die maximale Größe für das Bundle. Wenn nicht angegeben, gibt es kein Maximum. |
Maximum Number of Entries |
Die maximale Anzahl der Dateien, die in ein Bundle aufgenommen werden sollen |
Maximale Anzahl von Bins |
Gibt die maximale Anzahl von Bins an, die gleichzeitig im Speicher gehalten werden können |
Zusammenführungsformat |
Bestimmt das Format, das für die Zusammenführung der Inhalte verwendet wird. |
Merge Strategy |
Gibt den Algorithmus an, der zum Zusammenführen von Inhalten 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. |
Minimum Group Size |
Die Mindestgröße des Bundles |
Minimum Number of Entries |
Die Mindestanzahl der Dateien, die in einem Bundle enthalten sein müssen |
Tar Modified Time |
Wenn Sie das Tar-Merge-Format verwenden, geben Sie an, ob der Tar-Eintrag den geänderten Zeitstempel entweder als Ausdruck (z. B. ${file.lastModifiedTime} ) oder als statischen Wert speichern soll. Beide Werte müssen dem ISO8601 Format „yyyy-MM-dd’T’HH: mm:ssZ“ entsprechen. |
mergecontent-metadata-strategy |
Für FlowFiles, deren Eingabeformat Metadaten unterstützt (z. B. Avro), bestimmt diese Eigenschaft, welche Metadaten dem Bundle hinzugefügt werden sollen. Wenn Sie „Use First Metadata“ ausgewählt ist, werden die Metadatenschlüssel/-werte aus dem ersten zu bündelnden FlowFile verwendet. Wenn Sie „Keep Only Common Metadata“ wählen, werden nur die Metadaten beibehalten, die in allen FlowFiles im Bundle mit demselben Wert vorhanden sind. Wenn „Ignore Metadata“ ausgewählt ist, werden keine Metadaten in das ausgehende gebündelte FlowFile übertragen. Wenn „Do Not Merge Uncommon Metadata“ ausgewählt ist, wird jedes FlowFile, dessen Metadatenwerte nicht mit denen des ersten gebündelten FlowFile übereinstimmen, nicht zusammengeführt. |
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 den zusammengeführten Inhalt enthält |
original |
Die FlowFiles, die zur Erstellung des Bundles verwendet wurden |
Schreibt Attribute¶
Name |
Beschreibung |
---|---|
filename |
Wenn mehr als eine Datei zusammengeführt wird, stammt der Dateiname aus dem Attribut segment.original.filename. Wenn dieses Attribut in der Quelle FlowFiles nicht vorhanden ist, wird der Dateiname auf die Anzahl der Nanosekunden gesetzt, die der Systemzeit entsprechen. Anschließend kann eine Dateinamenerweiterung angehängt werden: Ist das Merge-Format TAR, wird die Dateiendung .tar angehängt, ist das Merge-Format ZIP ist, wird .zip verwendet, bei FlowFileStream ist das Dateiformat .pkg. |
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-FlowFile hinzugefügt wird. |
merge.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“. |
Anwendungsfälle¶
Verketten Sie FlowFiles mit Textinhalten, um weniger, größere FlowFiles zu erstellen. |
Verketten Sie FlowFiles mit binärem Inhalt miteinander, um weniger, größere FlowFiles zu erstellen. |
Setzen Sie ein FlowFile wieder zusammen, das zuvor von einem Prozessor wie SplitText, UnpackContext, SplitRecord usw. in kleinere FlowFiles aufgeteilt wurde. |