GetFile处理器在Apache NiFi中持续运行

时间:2016-11-14 10:19:47

标签: apache-nifi

我正在使用Apache NiFi将一些本地文件复制到HDFS。 我创建了一个绑定到GetFile处理器的PutHDFS处理器。 GetFile处理器递归查询只读目录。我遇到的问题是文件不断被复制,例如,如果我删除HDFS上复制的文件,那么它们会在不久之后重新出现。

GetFile处理器配置中,我已将Keep Source File设置为 true ,因为该目录是只读的,并且在{{3}中指定在只读目录中,如果此参数设置为 false ,则文件将被忽略:

  

如果为true,则在将文件复制到文件后不会删除该文件   内容存储库;这会导致文件不断被拾取   并且对于测试目的很有用。如果不保持原来的NiFi会   需要对其正在拉动的目录的写权限   它将忽略该文件。

是否可以简单地复制每个文件一次?

1 个答案:

答案 0 :(得分:6)

您可以使用ListFileFetchFile处理器执行此操作。 ListFile将跟踪它到目前为止看到的文件,除非已经修改,否则不会继续列出它们。确保将FetchFile中的完成策略设置为“无”,以确保不会尝试移动/删除文件。