SplitText 2025.5.31.15

Bundle

org.apache.nifi | nifi-standard-nar

Description

Fractionne un fichier texte en plusieurs fichiers texte plus petits sur des lignes limitées en nombre maximum de lignes ou en taille totale du fragment. Chaque fichier fractionné en sortie contiendra au maximum le nombre de lignes ou d’octets configuré. Si la valeur de Line Split Count et la valeur de Maximum Fragment Size sont toutes deux spécifiées, le fractionnement se produit lorsque l’une ou l’autre de ces limites est atteinte en premier. Si la première ligne d’un fragment dépasse la valeur de Maximum Fragment Size, cette ligne sera sortie dans un fichier fractionné unique qui dépasse la taille maximale configurée. Ce composant permet également de spécifier que chaque fractionnement doit inclure des lignes d’en-tête. Les lignes d’en-tête peuvent être définies soit en spécifiant le nombre de lignes constituant un en-tête, soit en utilisant un marqueur d’en-tête correspondant aux lignes lues. Si une telle correspondance se produit, la ligne correspondante sera traitée comme une ligne d’en-tête. Gardez à l’esprit qu’après le premier échec de correspondance du marqueur d’en-tête, aucune autre correspondance ne sera effectuée et le reste des données sera analysé comme des lignes normales pour un fractionnement donné. Si, après calcul de l’en-tête, il ne reste plus de données, le fractionnement résultant ne contiendra que les lignes d’en-tête.

Balises

split, text

Exigences en matière d’entrées

REQUIRED

Prend en charge les propriétés dynamiques sensibles

false

Propriétés

Propriété

Description

Header Line Count

Nombre de lignes devant être considérées comme faisant partie de l’en-tête ; les lignes d’en-tête seront dupliquées dans tous les fichiers fractionnés.

Header Line Marker Characters

Premier(s) caractère(s) de la ligne du fichier de données qui indique(nt) une ligne d’en-tête. Cette valeur est ignorée lorsque Header Line Count est différent de zéro. La première ligne ne contenant pas les caractères du marqueur d’en-tête et toutes les lignes suivantes sont considérées comme des lignes non entête.

Line Split Count

Nombre de lignes à ajouter à chaque fichier fractionné, à l’exclusion des lignes d’en-tête. Une valeur de zéro nécessite la définition de Maximum Fragment Size, et le nombre de lignes ne sera pas pris en compte pour déterminer les fractionnements.

Maximum Fragment Size

Taille maximale de chaque fichier fractionné, y compris les lignes d’en-tête. NOTE : dans le cas où une seule ligne dépasse cette propriété (y compris les en-têtes, le cas échéant), cette ligne sera produite dans un fractionnement à part qui dépasse la valeur définie pour Maximum Fragment Size.

Remove Trailing Newlines

Indique s’il faut supprimer les nouvelles lignes à la fin de chaque fichier fractionné. Cette valeur doit être false si vous prévoyez de fractionner ultérieurement les fichiers fractionnés. Si cette valeur est définie sur “true” et qu’un FlowFile est généré ne contenant que des « lignes vides » (c’est-à-dire uniquement des caractères r et n), le FlowFile ne sera pas émis. Notez toutefois que si des lignes d’en-tête sont spécifiées, le FlowFile résultant ne sera jamais vide car il contiendra les lignes d’en-tête, de sorte qu’un FlowFile peut être émis en ne contenant que les lignes d’en-tête.

Relations

Nom

Description

failure

Si un fichier ne peut pas être fractionné pour une raison quelconque, le fichier d’origine sera routé vers cette destination et rien ne sera routé ailleurs.

original

Le fichier d’entrée original sera routé vers cette destination lorsqu’il aura été correctement fractionné en un ou plusieurs fichiers.

splits

Les fichiers fractionnés seront routés vers cette destination lorsqu’un fichier d’entrée sera correctement fractionné en un ou plusieurs fichiers fractionnés.

Écrit les attributs

Nom

Description

text.line.count

Nombre de lignes de texte du FlowFile original qui ont été copiées dans ce FlowFile

fragment.size

Le nombre d’octets provenant du FlowFile d’origine qui ont été copiés dans ce FlowFile, en incluant l’en-tête, le cas échéant, qui est dupliqué dans chaque FlowFile fractionné.

fragment.identifier

Tous les FlowFiles produits à partir du même FlowFile parent auront le même UUID généré aléatoirement et ajouté pour cet attribut

fragment.index

Un numéro d’ordre qui indique l’ordre des FlowFiles fractionnés qui ont été créés à partir d’un seul FlowFile parent

fragment.count

Le nombre de FlowFiles fractionnés générés à partir du FlowFile parent

segment.original.filename

Le nom du FlowFile parent

Voir aussi :