首页 > 解决方案 > 使用 Nifi 将行附加到 csv

问题描述

我们每天都有来自 FTP 站点的 csv 文件。我们需要做的是将当天 csv 中的新行添加到当前存在于 HDFS 目录中的文件中。我们目前的流程是:

  1. 获取 SFTP 处理器从站点获取文件
  2. 更新属性根据文件名创建一个 HDFS 文件夹
  3. 更新属性还会根据年份创建一个子文件夹
  4. 然后将该文件转储到 HDFS 子文件夹中

总共有大约 8 个单独的目录,即“sales_report”、“inventory”、“personnel”等。对于这些文件夹中的每一个,我们希望将其中的 csv 文件附加到,而不是为每天。

最好的方法是什么?我知道我需要一个 csv 读取器和写入器服务,但我不确定要使用哪些处理器以及我需要什么样的 nifi 表达式(如果有的话)。任何详细的答复将不胜感激。

此外,从技术上讲,生成的文件不需要是 csv,只要它是 Hive 可以识别的格式。

标签: csvmergehiveapache-nifi

解决方案


PutHDFS 处理器具有用于冲突解决的属性,并带有附加选项。

“如果有,附加到现有文件,否则创建一个新文件。”


推荐阅读