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

che*_*aux 4 apache-nifi

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

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

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

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

mat*_*tyb 6

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

  • 是的,停止 ListFile 处理器,然后右键单击并选择“查看状态”。在“状态”对话框中,有一个指向“清除状态”的链接。 (2认同)