GetFile 处理器在 Apache NiFi 中持续运行
Posted
技术标签:
【中文标题】GetFile 处理器在 Apache NiFi 中持续运行【英文标题】:GetFile processor continually running in Apache NiFi 【发布时间】:2016-11-14 10:19:47 【问题描述】:我正在使用 Apache NiFi 将一些本地文件复制到 HDFS。
我创建了一个绑定到PutHDFS
处理器的GetFile
处理器。 GetFile
处理器递归地查询一个只读目录。我遇到的问题是文件被不断复制,例如,如果我在 HDFS 上删除复制的文件,那么它们很快就会重新出现。
在GetFile
处理器配置中,我将Keep Source File
设置为true,因为该目录是只读的,并且在documentation 中指定了只读目录和如果此参数设置为 false,则文件将被忽略:
如果为 true,则文件在复制到 内容存储库;这会导致文件被不断拾取 并且可用于测试目的。如果不保留原始 NiFi 将 需要对它从中提取的目录具有写权限,否则 它会忽略该文件。
是否可以简单地将每个文件复制一次?
【问题讨论】:
【参考方案1】:您可以使用ListFile 和FetchFile 处理器来执行此操作。 ListFile 将跟踪它到目前为止看到的文件,除非它们被修改,否则不会继续列出它们。确保将 FetchFile 中的 Completion Strategy 设置为“无”,以确保不会尝试移动/删除文件。
【讨论】:
谢谢,它成功了。有没有办法重置处理器,让它忘记已经导入的文件? 是的,停止 ListFile 处理器,然后右键单击并选择查看状态。在“状态”对话框中,有一个指向“清除状态”的链接。以上是关于GetFile 处理器在 Apache NiFi 中持续运行的主要内容,如果未能解决你的问题,请参考以下文章