NiFi JoinEnrichment仅返回原始数据,enrichment数据未融合问题
NiFi JoinEnrichment处理器未融合 enrichment 数据问题
问题情况
使用NiFi的JoinEnrichment处理器时,处理结果仅包含原始数据,enrichment数据完全未被融合。尝试所有enrichment模式后,结果均一致。
流程图

日志信息
2023-07-13 09:33:56,462 INFO [Timer-Driven Process Thread-9] o.a.n.processors.standard.LogAttribute LogAttribute[id=103c1277-1040-10c7-9cc8-e23dbb000fba] logging for flow file StandardFlowFileRecord[uuid=62500046-90e4-4b96-a973-1d9dc2c8852e,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1689240288569-126, container=default, section=126], offset=19896, length=120],offset=0,name=c02d147c-d9ab-4b44-8963-6fb31f4fbf93,size=120] -------------------------------------------------- FlowFile Attribute Map Content Key: 'enrichment.group.id' Value: '16086913-2fe8-4a12-9937-8d4eadb642b4' Key: 'enrichment.role' Value: 'ORIGINAL' -------------------------------------------------- { "cisloParcely" : "4401/2", "celkovaVymeraParcely" : 1940, "listVlastnictva" : 5242, "druhPozemku" : "Vinica" } 2023-07-13 09:33:59,502 INFO [Timer-Driven Process Thread-5] o.a.n.processors.standard.LogAttribute LogAttribute[id=103c1277-1040-10c7-9cc8-e23dbb000fba] logging for flow file StandardFlowFileRecord[uuid=42faa4e1-67bd-44fb-98a8-1b0f2a34c3ca,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1689240288569-126, container=default, section=126], offset=20016, length=995],offset=0,name=c02d147c-d9ab-4b44-8963-6fb31f4fbf93,size=995] -------------------------------------------------- FlowFile Attribute Map Content Key: 'enrichment.group.id' Value: '16086913-2fe8-4a12-9937-8d4eadb642b4' Key: 'enrichment.role' Value: 'ENRICHMENT' -------------------------------------------------- { "uzivatelia" : [ { "meno" : "XYZ", "podielVlastnikaCitatel" : 1, "podielVlastnikaMenovatel" : 6, "typVlastnika" : "Vlastník", "poradieVlastnika" : 1 }, { "meno" : "XYZ", "podielVlastnikaCitatel" : 1, "podielVlastnikaMenovatel" : 6, "typVlastnika" : "Vlastník", "poradieVlastnika" : 2 }, { "meno" : "XYZ", "podielVlastnikaCitatel" : 1, "podielVlastnikaMenovatel" : 3, "typVlastnika" : "Vlastník", "poradieVlastnika" : 3 }, { "meno" : "XYZ", "podielVlastnikaCitatel" : 1, "podielVlastnikaMenovatel" : 3, "typVlastnika" : "Vlastník", "poradieVlastnika" : 4 }, { "meno" : "XYZ", "podielVlastnikaCitatel" : 0, "podielVlastnikaMenovatel" : 0, "typVlastnika" : "Správca", "poradieVlastnika" : 5 } ] } 2023-07-13 09:34:00,002 INFO [Timer-Driven Process Thread-2] o.a.n.processors.standard.LogAttribute LogAttribute[id=103c1277-1040-10c7-9cc8-e23dbb000fba] logging for flow file StandardFlowFileRecord[uuid=939b4716-9200-417e-b400-1bf58a471b9b,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1689240359382-127, container=default, section=127], offset=24779, length=153],offset=0,name=4e267690-2917-4f90-b974-90fe0ea4f618,size=153] -------------------------------------------------- FlowFile Attribute Map Content Key: 'enrichment.group.id' Value: '16086913-2fe8-4a12-9937-8d4eadb642b4' -------------------------------------------------- [ { "original" : { "cisloParcely" : "4401/2", "celkovaVymeraParcely" : 1940, "listVlastnictva" : 5242, "druhPozemku" : "Vinica" } } ]
排查解决步骤
- 检查Output Strategy参数:必须设置为
Output Combined Result,若选Output Only Original,只会输出原始数据,不会执行合并。 - 确认Enrichment Strategy配置:选择
Merge Enrichment into Original或Merge Original into Enrichment这类合并模式,避免选择仅保留单一数据的模式。 - 核对分组标识:确保处理器的
Group Identifier Attribute确实设置为enrichment.group.id,配置错误会导致合并逻辑失效。 - 配置结果路径:针对特殊JSON结构(如原始数据为单对象、enrichment数据为含数组的对象),可设置
Result Record Path指定合并后的结构,例如用/将enrichment字段直接并入原始对象。 - 升级NiFi版本:旧版本可能存在处理器bug,尝试升级到1.19.x及以上的稳定版本测试。
内容的提问来源于stack exchange,提问作者user847765
相关产品推荐
相关产品推荐

