JoinEnrichment 2025.5.31.15

捆绑包

org.apache.nifi | nifi-standard-nar

描述

将两个不同 FlowFiles 中的记录合并,其中一个 FlowFile 作为“original”,包含任意记录,第二个 FlowFile 作为“enrichment”,包含应用于丰富第一个文件的附加数据。有关如何配置该处理器及其旨在实现的不同用例的更多信息,请参阅“详细信息”。

标签

combine、enrichment、fork、join、merge、record、recordpath、sql、streams、wrap

输入要求

REQUIRED

支持敏感的动态属性

false

属性

属性

描述

Enrichment Record Reader

用于读取“丰富”FlowFile 的记录读取器

Insertion Record Path

指定“丰富”记录的字段在“原始”记录中的插入位置。请注意,如果 RecordPath 未指向原始记录中的任何现有字段,则不会插入扩充内容。

Join Strategy

指定如何将两个 FlowFiles 合并为一个 FlowFile

数据箱数上限

指定一次可在内存中保存的数据箱数量上限

Original Record Reader

用于读取“原始”FlowFile 的记录读取器

记录写入器

用于写入结果的记录写入器。如果将记录写入器配置为从记录继承架构,则它将继承的架构将是 “原始”记录架构和“丰富”记录架构合并的结果。

SQL

待评估的 SQL SELECT 语句。可以提供表达式语言,但这样做可能会导致性能降低。由于该处理器一次只能处理两个 FlowFiles,因此了解如何引用属性也很重要。如果两个 FlowFiles 的属性名称相同但值不同,则表达式语言将解析为“丰富”FlowFile 提供的值。

超时

指定第一个到达处理器后等待第二个 FlowFile 的最长时间,之后第一个 FlowFile 将路由到“timeout”关系。

dbf-default-precision

当 DECIMAL/NUMBER 值作为 Avro 的“decimal”逻辑类型写入时,需要指定一个表示可用数字位数的特定“precision”。通常,精度由列数据类型定义或数据库引擎默认值定义。但是,某些数据库引擎可以返回未定义的精度(即 0)。这时将使用“默认小数精度”来写入这些未定义精度的数值。

dbf-default-scale

当 DECIMAL/NUMBER 值作为 Avro 的“decimal”逻辑类型写入时,需要指定一个表示可用小数位数的特定“scale”。通常,标度由列数据类型定义或数据库引擎默认值定义。但是,当数据库返回未定义的精度(即 0)时,某些数据库引擎也可能无法确定标度。这时将使用“默认小数标度”来写入这些未定义标度的数值。如果一个值的小数位数多于指定的标度,则该值将被舍入,例如,标度为 0 时,1.53 变成 2;标度为 1 时,1.53 会变为 1.5。

关系

名称

描述

failure

如果“原始”和“丰富”FlowFiles 都到达处理器,但未能加入记录,则两个 FlowFiles 都将路由到此关系。

joined

“原始”和“丰富”FlowFiles 中记录合并后的最终 FlowFile 将路由到此关系

original

两个传入的 FlowFiles(“原始”和“丰富”)都将路由到此关系。也就是说,这是这两个 FlowFiles 的“原始”版本。

timeout

如果其中一个传入的 FlowFiles(即“原始”FlowFile或“丰富”FlowFile)到达此处理器,但另一个未在配置的超时时间内到达,则确实到达的 FlowFile 将路由到此关系。

写入属性

名称

描述

mime.type

将 mime.type 属性设置为记录写入器指定的 MIME 类型

record.count

FlowFile 中的记录数

另请参阅

语言: 中文