Apache Nifi:我如何知道或检查所有流文件是否已被处理

Ант*_*еев 5 apache-nifi

我在 NiFi 中有流量:

Download file -> UnpackContent -> PutHDFS
Run Code Online (Sandbox Code Playgroud)

将所有流文件放入 HDFS 后,我需要运行 shell 脚本。

我如何知道或检查所有流程文件是否已被处理?

Big*_*eam 2

没有什么好的方法可以做到这一点,因为 NiFi 是一种流处理产品 - 它不断地从一个或多个点读取文件,处理它们并发送到另一个点。

因此,不存在完成处理 NiFi 中所有文件的情况,因为流程会继续运行并等待新文件。

您可以做的是查询出处存储库并查看特定的流程文件并检查它是否完成了流程。

所以我建议做的是:

如果您知道希望处理多少个文件:查询出处存储库以了解有多少文件完成了流程。

如果不这样做:查询上次将新文件写入 HDFS 的时间,如果超过 X 秒,则运行脚本。