Apache nifi 使用nifi解析固定宽度文件

Apache nifi 使用nifi解析固定宽度文件,apache-nifi,Apache Nifi,我对NiFi非常陌生,我正在尝试解决以下情况: 我有一个固定宽度的文件,格式如下: AAAA XBNKDF fg kjsdkgghjkg CCCCC JLJDSJGLG gjg dkljgllkjds EEEEEE KLJDFGKD jksf sbgjsdljkga AAAA XBNKDFSFG grgh kjsdkgghjkg CCCCC JLJDSJGL jdjd jgdkljglsds 我想扫描文件的每一行,并检查以“AAAAA”或“CCCCC”开头的行。输出应为三个不同的流文件,其中第一

我对NiFi非常陌生,我正在尝试解决以下情况:

我有一个固定宽度的文件,格式如下:

AAAA XBNKDF fg kjsdkgghjkg

CCCCC JLJDSJGLG gjg dkljgllkjds

EEEEEE KLJDFGKD jksf sbgjsdljkga

AAAA XBNKDFSFG grgh kjsdkgghjkg

CCCCC JLJDSJGL jdjd jgdkljglsds

我想扫描文件的每一行,并检查以“AAAAA”或“CCCCC”开头的行。输出应为三个不同的流文件,其中第一个文件应包含以“AAAA”开头的所有行,第二个文件应包含以“CCCCC”开头的所有行,第三个流文件应包含所有其他行。

请尝试处理器。您需要进行一些配置,并为“AAAA”和“CCCCC”行添加动态属性:

  • 路由策略:路由到每个匹配的属性名称
  • 匹配策略:从
  • AAAAA:AAAAA
  • CCCCC:CCCCC
进行这些更改后,处理器将具有“AAAAA”、“CCCCCC”和“unmatched”(其他所有内容)的输出关系。

尝试处理器。您需要进行一些配置,并为“AAAA”和“CCCCC”行添加动态属性:

  • 路由策略:路由到每个匹配的属性名称
  • 匹配策略:从
  • AAAAA:AAAAA
  • CCCCC:CCCCC

进行这些更改后,处理器将具有“AAAA”、“CCCCCC”和“unmatched”(其他所有内容)的输出关系。

James的回答非常好,但
RouteText
将每一行作为单独的流文件分开。如果要将生成的流文件聚合为集合文件,请在
RouteText
@Andy之后使用
MergeContent
处理器,尽管有文档,但这不是我的经验。我想通过上面的设置,它会将所有匹配的行作为一个流文件进行路由。谢谢James。如果有必要,我会调查并更新文档。James的回答很好,但是
RouteText
将每一行作为一个单独的流文件分开。如果要将生成的流文件聚合为集合文件,请在
RouteText
@Andy之后使用
MergeContent
处理器,尽管有文档,但这不是我的经验。我想通过上面的设置,它会将所有匹配的行作为一个流文件进行路由。谢谢James。如有必要,我将调查并更新文档。