Apache NiFi根据条件分割数据

时间:2016-12-05 21:39:35

标签: apache-nifi

我们的要求是根据条件分割流量数据。 我们考虑使用“ExecuteStreamCommand”处理器(实习生它将使用java类),但它只提供单个流数据文件。我们希望有两个流数据文件,一个用于匹配,另一个用于不匹配的标准。

我查看了“RouteText”处理器,但它没有使用java类作为其中一部分的功能。

如果有人有任何建议,请告诉我。

1 个答案:

答案 0 :(得分:0)

我认为你可以使用GetMongo来读取这些定义值并将它们存储在DistributedMapCacheClientService访问的地图中,然后使用RouteOnContent根据缺席/存在来路由传入的流文件检索到的值。

如果这不起作用,您可以将查询结果从GetMongo路由到PutFile,然后使用ScanContent,它从文件系统和路由上的字典文件中读取基于内容中缺少/存在这些关键字的流文件。

最后,如果所有其他方法都失败了,您可以使用ExecuteScript将这些步骤合并到一个处理器中,并路由到matched / unmatched关系。它可以轻松处理Groovy代码,因此您可以根据需要直接调用现有的Java类。