首页 > 解决方案 > 从 CSV 中提取值并使用 NiFi 将其放置在同一 CSV 文件中的新列中

问题描述

我有一个 CSV 文件,我需要从中提取两个值,例如“UutId & Test”并将其放在最后一列(文件名)。如何从同一个 CSV 文件中提取/提取值并将其放在最后一列相同的名为“文件名”的 CSV 文件是空白的(现在没有任何值)。如果可能,请告诉使用什么处理器和配置?TIA

作为参考,我附上了我想在整个 CSV 记录中重复的名为“文件名”的最后一列中添加的值的 CSV 文件快照。

要提取的值 要提取的值

应放置值的列 应放置值的列

GetFile 后列出队列 列表队列

播放UpdateRecord处理器后的列表队列使其成为空白文件。

播放更新记录后列出队列 播放 UpdateRecord 后列出队列 请帮助

标签: regexapache-nifi

解决方案


在配置下使用 UpdateRecord 处理器

CSVRecordSetWriter控制器服务中,将字符串类型的文件名列添加为 avro 架构中的最后一个字段。

更新记录配置:

在此处输入图像描述

在 UpdateRecord 处理器中添加新属性为

/文件名

concat(/UutId,/Test)

因为我们使用记录路径值作为替换值策略

现在更新记录处理器会将 UutId,Test 值连接到文件名列值。

有关更新记录处理器的更多详细信息,请参阅链接。


推荐阅读