【问题标题】:Adding column at the end to pipe delimited file in NiFi在NiFi中将列添加到管道分隔文件的末尾
【发布时间】:2020-10-20 10:48:41
【问题描述】:

我在 SFTP 服务器中有这个特殊的管道分隔文件

PROPERTY_ID|START_DATE|END_DATE|CAPACITY
1|01-JAN-07|31-DEC-30|101
2|01-JAN-07|31-DEC-30|202
3|01-JAN-07|31-DEC-30|151
4|01-JAN-07|31-DEC-30|162
5|01-JAN-07|31-DEC-30|224

我需要使用 NiFi 将此数据传输到 S3 存储桶。在这个过程中,我需要在最后添加另一列,即今天的日期。

PROPERTY_ID|START_DATE|END_DATE|CAPACITY|AS_OF_DATE
1|01-JAN-07|31-DEC-30|101|20-10-2020
2|01-JAN-07|31-DEC-30|202|20-10-2020
3|01-JAN-07|31-DEC-30|151|20-10-2020
4|01-JAN-07|31-DEC-30|162|20-10-2020
5|01-JAN-07|31-DEC-30|224|20-10-2020

在 NiFi 中实现这一点的简单方法是什么?

【问题讨论】:

  • 您可以尝试使用新属性 {now()} 和替换策略作为文字值的 UpdateRecord。流程如下:GetSFTP >> UpdateRecord >> PutS3

标签: apache-nifi data-transfer


【解决方案1】:

@Naga 这里是一篇非常相似的帖子,描述了解决在 CSV 上添加新列的方法:

Apache NiFi: Add column to csv using mapped values

最简单的方法是 ReplaceText 将相同的“|20-10-2020”附加到每一行。 ReplaceText 设置将逐行评估,正则表达式:$1|20-10-2020。其他方法是更动态地执行此操作的附加方法,例如,如果日期不是静态的。

【讨论】:

  • 谢谢,史蒂文。已成功实施类似流程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 2013-10-16
相关资源
最近更新 更多