1、Funnel (漏斗),Funnel是 NiFi 组件,用于将多个连接中的数据合并到一个连接中。
使用场景:nifi中的Funnel组件用于合并多个数据流并将它们传递到下游处理器。它可以将来自不同来源的数据流合并到一个数据流中,方便后续处理器对数据进行处理。Funnel组件通常用于将不同分支的数据合并成一个流,例如将多个数据源的数据合并后进行聚合、分析或存储等操作。通过Funnel组件,nifi可以实现数据的合并和汇总,进一步实现数据流的处理和分析。
1)处理器GenerateFlowFile1生成2条数据,处理器GenerateFlowFile2生成2条数据,经过组件Funnel汇合之后将数据传递给LogMessae处理器(或者其他处理器),此时LogMessae处理器将收到4条数据。
2)由此可见Funnel处理器还具有解耦的作用:比如再加个类似的GenerateFlowFile3继续生产数据,后续流程不需要任何调整。
3)说到多对1聚会组件,大家肯定会想到1对多分发组件。在Apache NiFi中,可以使用RouteOnAttribute、RouteOnContent等处理器来实现数据的分发。这些处理器可以根据预定义的条件将数据流分发到不同的处理路径。另外,还可以结合使用UpdateAttribute处理器来添加属性,然后通过RouteOnAttribute根据这些属性的值来进行分发。另外,还可以使用Site-