MergeRecord 2025.5.31.15¶
捆绑包¶
org.apache.nifi | nifi-standard-nar
描述¶
该处理器将多条面向记录的 FlowFiles 合并为一个 FlowFile,其中包含所有输入 FlowFiles 的记录。该处理器的工作原理是创建“数据箱”,然后将 FlowFiles 添加到这些数据箱中,直至填满。数据箱填满后,所有 FlowFiles 将合并为单个输出 FlowFile,该 FlowFile 将路由到“merged”关系。一个数据箱可能包含许多“like FlowFiles”。为了使两个 FlowFiles 被视为“like FlowFiles”,其必须具有相同的架构(由 Record Reader 确认),并且如果设置了 <Correlation Attribute Name> 属性,则该指定属性的值必须相同。有关更多信息,请参阅处理器使用情况和其他详细信息。NOTE:配置调度策略时,此处理器 NOT 应配置为 Cron Driven。
输入要求¶
REQUIRED
支持敏感的动态属性¶
false
属性¶
属性 |
描述 |
---|---|
属性策略 |
确定应将哪些 FlowFile 属性添加到捆绑包中。如果选择“Keep All Unique Attributes”,则捆绑的任何 FlowFile 上的所有属性都将保留,除非其值与其他 FlowFile 的值冲突。如果选择“Keep Only Common Attributes”,则只会保留捆绑包中所有 FlowFiles 上存在且值相同的属性。 |
correlation-attribute-name |
如果指定,则只有当此属性的值相同时,两个 FlowFiles 才会捆绑在一起。如果未指定该属性,则 FlowFiles 按从队列中提取的顺序进行捆绑。 |
max-bin-age |
将触发数据箱完成的最大数据箱使用年限。预期格式为 <duration> <time unit>,其中 <duration> 为正整数,并且时间单位为秒、分钟、小时 |
max-bin-size |
捆绑包的容量上限。如果未指定,则没有上限。这是一个“软限制”,因为如果将 FlowFile 添加到数据箱,则该 FlowFile 中的所有记录都将被添加,因此可能会超过该限制,超出最后一个输入 FlowFile 中的字节数。 |
max-records |
要包含在数据箱中的最大记录数。这是一个“软限制”,因为如果将 FlowFIle 添加到数据箱,则该 FlowFile 中的所有记录都将被添加,因此可能会超过该限制,超出最后一个输入 FlowFile 中的记录数。 |
max.bin.count |
指定一次可在内存中保存的数据箱数量上限。此数值不应小于该处理器的最大并发线程数,否则创建的数据箱通常仅包含一个传入 FlowFile。 |
merge-strategy |
指定用于合并记录的算法。“碎片整理”算法会将通过属性关联的多个片段重新合并为一个完整的 FlowFile 文件。“装箱算法”会生成一个由随机选取的 FlowFiles 填充的新 FlowFile。 |
min-bin-size |
bin 的容量下限 |
min-records |
要包含在数据箱中的最小记录数 |
record-reader |
指定用于读取传入数据的控制器服务 |
record-writer |
指定用于写出记录的控制器服务 |
关系¶
名称 |
描述 |
---|---|
failure |
如果无法创建捆绑包,则用于创建捆绑包的所有 FlowFiles 都将转移到“failure” |
merged |
包含合并记录的 FlowFile |
original |
用来创建捆绑包的 FlowFiles |
写入属性¶
名称 |
描述 |
---|---|
record.count |
合并后的 FlowFile 将具有“record.count”属性,表示写入 FlowFile 的记录数。 |
mime.type |
记录写入器指定的 MIME 类型 |
merge.count |
合并到此捆绑包的 FlowFiles 数量 |
merge.bin.age |
数据箱在被合并输出时的存在时长,以毫秒为单位。实际上,这是该捆绑包中所有 FlowFile 在该处理器中等待输出的最长时间 |
merge.uuid |
将添加到原始 FlowFiles 属性的合并后的 FlowFile 的 UUID |
merge.completion.reason |
该处理器允许为合并 FlowFiles 配置多个阈值。 此属性表示哪些阈值导致 FlowFiles 被合并。有关每个可能值及其含义的解释,请参阅处理器的用法/文档,并参阅“其他详细信息”页面。 |
<Attributes from Record Writer> |
配置的 Record Writer 返回的任何属性都将添加到 FlowFile。 |
用例¶
将许多任意记录组合在一起,以创建一个更大的文件 |
涉及其他组件的用例¶
将许多数据中特定字段具有相同值的记录组合在一起,以创建一个更大的文件 |