使用Nifi将行追加到csv

时间:2019-06-03 16:05:24

标签: csv merge hive apache-nifi

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

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

总共大约有8个单独的目录,即“ sales_report”,“库存”,“人员”等。对于这些文件夹中的每一个,我们希望将其中的csv文件附加到其中,而不要使用新的csv文件,每天都有单独的文件。

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

而且,从技术上讲,只要文件格式为Hive可以识别的格式,就不必是csv。

1 个答案:

答案 0 :(得分:4)

PutHDFS处理器具有“冲突解决”属性,带有“附加”选项。

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