apache nifi +使用listhdfs获取最新的hdfs文件

时间:2017-04-28 08:40:58

标签: apache-nifi

我正在尝试使用hdfs direcory获取特定文件(最新文件) listHDFS和fetchHDFS 文件名如下 DATAFILE.D170412其中D代表日期

我正在尝试获取仅获取最新文件的功能,并且只获取一次。

我注意到listHDFS中还没有文件过滤器 https://issues.apache.org/jira/browse/NIFI-3379 所以我不确定我应该如何构建这个流程

我目前的流程如下: listHDFS - >列出源目录中的所有文件 FetchHFDS - >试图只获取我想要的文件 以下属性

HDFS文件名:

${path}/${filename}.D${time -1:format("yyMMdd")} 

为了在文件扩展名

中获取带有昨天日期的文件

1 个答案:

答案 0 :(得分:0)

这里有多种解决方案:

我想到的其中一个是:

1)Nifi具有“执行流命令”处理器,您可以在其中运行shell脚本以获取最新文件的名称。 op可以写在属性中。

2)将op指向FetchHDFS处理器,其中文件名是从步骤1获得的文件的名称

PS:使用日志属性处理器了解有关属性的更多信息,并查看已设置的值