JoinEnrichment 2025.5.31.15¶
捆绑包¶
org.apache.nifi | nifi-standard-nar
描述¶
将两个不同 FlowFiles 中的记录合并,其中一个 FlowFile 作为“original”,包含任意记录,第二个 FlowFile 作为“enrichment”,包含应用于丰富第一个文件的附加数据。有关如何配置该处理器及其旨在实现的不同用例的更多信息,请参阅“详细信息”。
输入要求¶
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 中的记录数 |