如何在NiFi中配置JoinEnrichment连接两个FlowFile?SQL策略查询方法选择
NiFi JoinEnrichment 组件配置与SQL策略查询指南
一、连接两个FlowFile的配置步骤
- 处理输入关系:组件自带
original和enrichment两个输入端口,将主数据流(需补充的FlowFile)接入original,待关联的数据流接入enrichment。 - 基础参数设置:在组件配置界面,先把
Join Strategy设为目标类型(比如你使用的SQL),然后将Enrichment Source选为Flow File——因为我们要关联的是两个FlowFile的内容。 - 数据格式适配:如果FlowFile是JSON、CSV这类文本格式,需要先用
ConvertRecord等处理器将其转换为NiFi可解析的记录格式(如Avro),否则SQL无法识别字段。 - 编写关联规则:切换到SQL策略后,在
SQL Join Query中编写关联语句,注意用original.字段名指代主数据流的字段,enrichment.字段名指代关联数据流的字段,确保关联条件清晰。
二、SQL策略下的查询方法选择
当Join Strategy设置为SQL时,必须使用original and enriched的方式编写查询:
- SQL策略的核心是明确区分两个输入流的数据源,查询语句里必须通过
original和enrichment前缀指定不同流的字段,示例如下:SELECT original.order_id, original.amount, enrichment.product_name FROM original JOIN enrichment ON original.product_id = enrichment.id - 不要使用
flow file方法,该方法适用于Attribute Join或Content Join等其他策略,SQL策略依赖双数据源的明确标识才能正常执行关联逻辑。
内容的提问来源于stack exchange,提问作者Shaheer Shah
相关产品推荐
相关产品推荐

