Apache NiFi:识别包含特殊字符的 csv 记录

Apache NiFi: Identifying csv records containing special characters

使用 Apache NiFi 我需要过滤掉 csv 中具有一组特殊字符的记录。

例如,特殊字符集是"FFF"。我的 csv 是

name,age,city
John,23,New York
FFF,45,London
Himsara,18,Adelaide

然后第二条记录必须从csv中取出并放入另一个csv中。此外,即使 "FFF" 在城市或年龄列中,也必须删除整个记录。

请建议我实现此目标所需的处理器。如果您可以列出需要更改的配置,那也将非常有帮助。

使用 QueryRecord processor in nifi and define Record Reader/Writer Avro 模式读取传入的流文件。

然后将新的 属性 添加到 QueryRecord 处理器作为 (Apache calcite sql)

select * from FLOWFILE where name !="FFF"

现在使用 QueryRecord 处理器新添加的关系进行进一步处理,NiFi 将生成名称不等于 'FFF' 的流文件。

作为替代方案,您可以使用 RouteText 处理器。它将根据条件拆分流文件。包含FFF的行将路由到匹配关系,其他行将路由到不匹配关系。

RouteText 处理器设置: