使用nifi从当前时间一分钟前获取文件

时间:2017-08-23 06:30:10

标签: apache-nifi

我使用csv每分钟在我的hdfs上投放多个logstash个文件。

我需要从当前时间开始过去一分钟的文件。

我在此过程中使用nifi

例如现在是上午11:30,我只需要获取1分钟前或上午11点29分保存的所有文件。

使用nifi的最佳方法是什么?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以检查以下流程结构。

<强> ListHDFS - &GT; RouteOnAttribute - &GT; FetchHDFS

您可以使用ListHDFS列出hdfs文件夹中的所有文件。

使用RouteOnAttribute检查文件名中的日期时间是否为前一分钟,方法是将 '08 -23-17-11-29-AM'转换为毫秒(toNumber())

然后检查它等于当前日期时间的前几分钟的毫秒数,如下所示。 的 $ {现在():toNumber():减去(60000)}

这里我们有当前日期时间减去1分钟毫秒(“60000”)。

如果两者都是等于,那么将该队列移入 FetchHDFS 处理器,它将获取前一分钟文件中的特定文件。

如果您遇到任何问题,请与我们联系。