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.
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. |