SplitText 2025.5.31.15¶
捆绑包¶
org.apache.nifi | nifi-standard-nar
描述¶
在受最大行数或片段总大小的限制的行边界上,将文本文件拆分为多个较小的文本文件。每个输出拆分文件所包含的行数或字节数将不超过配置的行数或字节数。如果同时指定了行拆分数和最大片段大小,则将在首先达到的限制处发生拆分。如果片段的第一行超过最大片段大小,则该行将以超过配置的最大大小限制的单个拆分文件输出。该组件还允许用户指定每个拆分文件应包含标头行。标头行可以通过指定应构成标头的行数来计算,也可以使用标头标记与读取的行进行匹配来计算。如果发生这样的匹配,则相应的行将视为标头。请记住,在标头标记匹配首次失败时,将不再进行任何匹配,其余数据将解析为给定拆分的常规行。如果在计算标头之后没有更多数据,则生成的拆分文件将仅包含标头行。
输入要求¶
REQUIRED
支持敏感的动态属性¶
false
属性¶
属性 |
描述 |
---|---|
标头行数 |
应视为标头一部分的行数;标头行将复制到所有拆分文件中 |
标头行标记字符 |
数据文件行的第一个字符,表示标头行。当标头行数不为零时,该值将忽略。第一行不包含标头行标记字符和所有后续行均被视为非标头 |
行拆分数 |
将添加到每个拆分文件的行数,不包括标头行。值为零则需要设置最大片段大小,在确定拆分时不考虑行数。 |
最大片段大小 |
每个拆分文件的大小上限,包括标头行。NOTE:如果单行超过此属性(包括标头,如果适用),则该行将以超出此最大片段大小设置的拆分形式输出。 |
移除尾随换行符 |
是否删除每个拆分文件末尾的换行符。如果打算稍后合并拆分的文件,则该属性应设置为 false。如果将其设置为“true”,并且生成的 FlowFile 仅包含“空行”(即,仅由 r 和 n 字符组成),则不会发出 FlowFile。但请注意,如果指定了标头行,则生成的 FlowFile 将永远不会为空,因为它将由标头行组成,因此可能会发出仅包含标头行的 FlowFile。 |
关系¶
名称 |
描述 |
---|---|
failure |
如果由于某种原因无法拆分文件,则原始文件将路由到此目标,而不会路由到其他地方 |
original |
当原始输入文件成功拆分为一个或多个文件后,将路由到此目标 |
splits |
当输入文件成功拆分为一个或多个拆分文件后,拆分文件将路由到此目标 |
写入属性¶
名称 |
描述 |
---|---|
text.line.count |
从原始 FlowFile 复制到此 FlowFile 的文本行数 |
fragment.size |
从原始 FlowFile 复制到此 FlowFile 的字节数,包括每个拆分 FlowFile 中重复的标头(如果适用) |
fragment.identifier |
由同一个父 FlowFile 生成的所有拆分 FlowFiles 都将带有为此属性添加的随机生成的相同 UUID |
fragment.index |
表示从单个父 FlowFile 创建的拆分 FlowFiles 的顺序的递增编号 |
fragment.count |
从父 FlowFile 生成的拆分 FlowFiles 数量 |
segment.original.filename |
父 FlowFile 的文件名 |