在nifi

时间:2016-10-25 16:27:43

标签: apache-nifi

我是Apache NiFi的新手,我正在尝试解决以下问题:

我有一个以下格式的文件: @RTOajvnodsnvodsvdsonbbvoiroi uvdsoiuvoibvds @RBCinbdiuvidsnb

每一行都以换行符结束。第一行和最后一行是页眉和页脚行。我需要检查页眉和页脚行是否分别有@RTO和@RBC。如果是,我需要路由流文件。

我正在尝试使用RouteOnContent处理器来实现此目的,使用正则表达式(@RTO)[\\S\\s\\w\\W]*(@RBC)[\\S\\s\\w\\W]*。我用Java测试过它,但它在NiFi中不起作用。

处理器属性屏幕截图已附加 - enter image description here

1 个答案:

答案 0 :(得分:1)

我认为你的正则表达不足以匹配换行符。我创建了一个template,其中包含工作版本(\A(@RTO)(.*\n)*(@RBC).*\z)。此模板生成流文件并使用以下任一方法填充它们:

  • 上面提供的页眉和页脚标记
  • 只有标题
  • 只有页脚
  • 既不

然后相应地路由它们。我把你的描述作为"页眉和页脚呈现"或者"其他",但您可以修改以满足您的需求。