如何使用Apache Nifi从值中删除特定文本

时间:2019-11-06 13:12:47

标签: csv apache-nifi

我有一个csv文件,我需要从列中删除一些特定的文本并为此替换另一个值。

我的csv

date,name
20191106,sachith

为此,我使用了UpdateRecord处理器和以下配置。

/date-> ${field:replaceAll(2019,1212)}

CSV阅读器 CSV-Reader

CSV记录编写器 enter image description here

我当前的配置导致跟随csv。

date,name
"",sachith

预期结果

date,name
12121106,sachith

我在这里想念什么?我使用过QueryRecord处理器,但是它也不能解决我的问题。

1 个答案:

答案 0 :(得分:1)

如果没有完整的UpdateRecord配置,我无法确切确认您所做的事情,但是您的Reader和Writer是100%正确的。为了达到预期的结果,您需要将UpdateRecord配置更新为以下内容: enter image description here

我将替换值策略更改为“记录路径值”,这使我可以使用“ / date”动态属性右侧的记录路径来填充日期字段。有关如何在此处使用“记录路径”的更多信息:https://nifi.apache.org/docs/nifi-docs/html/record-path-guide.html

更接近原始配置的另一种解决方案是:

enter image description here

您唯一缺少的是引用该字段的值。有关此文档的更多信息,请访问https://nifi.apache.org/docs/nifi-docs/components/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.9.0/org.apache.nifi.processors.standard.UpdateRecord/index.html

我的脑子跳到“记录路径”的速度有点太快了,但是都可以正常工作!

如果遇到其他问题,请告诉我:)