MergeContent 2025.5.31.15

Bundle

org.apache.nifi | nifi-standard-nar

Description

Fusionne un groupe de FlowFiles sur la base d’une stratégie définie par l’utilisateur et les regroupe en un seul FlowFile. Il est recommandé de configurer le Processeur avec une seule connectivité entrante, car le groupe des FlowFiles ne sera pas créé à partir de FlowFiles dans des connexions différentes. Ce processeur met à jour l’attribut mime.type le cas échéant. NOTE : ce processeur ne doit PAS être configuré avec Cron Driven comme Stratégie de planification.

Balises

archive, concatenation, content, correlation, flowfile-stream, flowfile-stream-v3, merge, stream, tar, zip

Exigences en matière d’entrées

REQUIRED

Prend en charge les propriétés dynamiques sensibles

false

Propriétés

Propriété

Description

Attribute Strategy

Détermine quels attributs du FlowFile doivent être ajoutés au bundle. Si “Keep All Unique Attributes” est sélectionné, tout attribut présent sur un FlowFile bundlé sera conservé, sauf si sa valeur est en conflit avec celle provenant d’un autre FlowFile. Si “Keep Only Common Attributes” est sélectionné, seuls les attributs présents sur tous les FlowFiles du groupe, avec la même valeur, seront conservés.

Bin Termination Check

Spécifie une expression de l’Expression Language qui doit être évalué par rapport à chaque FlowFile. Si le résultat de l’expression est “true”, le bac auquel correspond le FlowFile sera fermé, même si le bac n’a pas atteint le nombre minimal d’entrées ou la taille minimale. Notez que si le FlowFile qui déclenche la fermeture du bac est lui-même plus grand que la valeur Maximum Bin Size, il sera placé dans son propre bac sans déclencher la fermeture d’aucun autre bac. Lors de l’utilisation de cette propriété, il est recommandé d’utiliser des Prioritizer dans les connexions du flux afin de garantir l’ordre souhaité.

Compression Level

Spécifie le niveau de compression à utiliser lors de l’utilisation du Zip Merge Format ; si le Zip Merge Format n’est pas utilisé, cette valeur est ignorée.

Correlation Attribute Name

Si elle est spécifiée, les FlowFiles similaires seront regroupés dans le même bac, où “like FlowFiles” signifie des FlowFiles ayant la même valeur pour cet attribut. Si elle n’est pas spécifiée, les FlowFiles sont bundlés selon l’ordre dans lequel ils sont extraits de la file d’attente.

Delimiter Strategy

Détermine si l’en-tête, le pied de page et le Demarcator doivent pointer vers des fichiers contenant le contenu correspondant, ou si les valeurs des propriétés doivent être utilisées comme contenu.

Demarcator File

Nom de fichier ou texte spécifiant le démarcateur à utiliser. S’il n’est pas spécifié, aucun Demarcator n’est fourni.

FlowFile Insertion Strategy

Si un FlowFile donné ferme le bac en fonction de la propriété <Bin Termination Check>, spécifie où le FlowFile doit être inclus dans le bac.

Footer File

Nom de fichier ou texte spécifiant le pied de page à utiliser. S’il n’est pas spécifié, aucun pied de page n’est fourni.

Header File

Nom de fichier ou texte spécifiant l’en-tête à utiliser. S’il n’est pas spécifié, aucun en-tête n’est fourni.

Keep Path

Si vous utilisez le format de fusion Zip ou Tar, spécifie si les chemins des FlowFiles doivent ou non être inclus dans leurs noms d’entrée.

Max Bin Age

Âge maximal d’un bac qui entraînera la complétion d’un bac. Le format attendu est <duration> <time unit>, où <duration> est un entier positif et où <time unit> est l’une des unités suivantes : secondes, minutes, heures.

Maximum Group Size

La taille maximale de la bundle. Si elle n’est pas spécifiée, aucune limite n’est appliquée.

Maximum Number of Entries

Le nombre maximum de fichiers à inclure dans une bundle

Nombre maximal de bacs

Spécifie le nombre maximum de bacs qui peuvent être conservés en mémoire à un moment donné

Merge Format

Détermine le format qui sera utilisé pour fusionner le contenu.

Merge Strategy

Spécifie l’algorithme utilisé pour fusionner le contenu. L’algorithme “Defragment” combine les fragments associés par attributs en un FlowFile unique et cohérent. L’algorithme “Bin-Packing Algorithm” génère un FlowFile rempli par des FlowFiles choisis de manière arbitraire.

Minimum Group Size

La taille minimale de la bundle

Minimum Number of Entries

Le nombre minimum de fichiers à inclure dans une bundle

Tar Modified Time

Si vous utilisez le format de fusion Tar, spécifie si l’entrée Tar doit stocker l’horodatage de modification soit par expression (par ex. {file.lastModifiedTime}) soit par valeur statique, les deux devant correspondre au format ISO8601 de date “aaaa-MM-dd’T’HH:mm:ssZ”.

mergecontent-metadata-strategy

Pour les FlowFiles dont le format d’entrée prend en charge les métadonnées (par ex. Avro), cette propriété détermine quelles métadonnées doivent être ajoutées au bundle. Si “Use First Metadata” est sélectionné, les clés/valeurs de métadonnées du premier FlowFile à bundler seront utilisées. Si “Keep Only Common Metadata” est sélectionné, seules les métadonnées présentes sur tous les FlowFiles du bundle, avec la même valeur, seront conservées. Si “Ignore Metadata” est sélectionné, aucune métadonnée n’est transférée vers le FlowFile bundlé sortant. Si “Do Not Merge Uncommon Metadata” est sélectionné, tout FlowFile dont les valeurs de métadonnées ne correspondent pas à celles du premier FlowFile bundlé ne sera pas fusionné.

Relations

Nom

Description

failure

Si le bundle ne peut pas être créé, tous les FlowFiles qui auraient servi à créer le bundle seront routés vers failure.

merged

Le FlowFile contenant le contenu fusionné

original

Les FlowFiles qui ont été utilisés pour créer la bundle

Écrit les attributs

Nom

Description

filename

Lorsque plus d’un fichier est fusionné, le nom de fichier provient de l’attribut segment.original.filename. Si cet attribut n’existe pas dans le FlowFiles source, le nom de fichier est défini sur le nombre de nanosecondes correspondant à l’heure système. Une extension de nom de fichier peut ensuite être appliquée : si Merge Format est TAR, le nom de fichier sera suffixé par .tar ; si Merge Format est ZIP, il sera suffixé par .zip ; si Merge Format est FlowFileStream, il sera suffixé par .pkg.

merge.count

Le nombre de FlowFiles qui ont été fusionnés dans ce bundle

merge.bin.age

L’âge du bac, en millisecondes, au moment de sa fusion et de sa sortie. Il s’agit en pratique de la durée maximale pendant laquelle un FlowFile de ce bundle est resté en attente dans ce processeur avant d’être envoyé en sortie.

merge.uuid

UUID du FlowFile fusionné qui sera ajouté aux attributs des FlowFiles originaux.

merge.reason

Ce processeur permet de configurer plusieurs seuils pour la fusion de FlowFiles. Cet attribut indique lequel des seuils a entraîné la fusion de FlowFiles. Pour une explication de chacune des valeurs possibles et de leur signification, reportez-vous à la documentation / Utilisation du processeur et à la page “Détails supplémentaires”.

Cas d’utilisation

Concaténer FlowFiles avec du contenu textuel afin de créer des FlowFiles moins nombreux et plus volumineux.

Concaténer FlowFiles avec un contenu binaire afin de créer un plus petit nombre de FlowFiles.

Réassembler un FlowFile qui a été précédemment fractionné en plusieurs FlowFiles par un processeur tel que SplitText, UnpackContext, SplitRecord, etc.

Voir aussi :