nifi是apache的顶级开源项目,可以用来做数据流的分发和处理,目前最新版本是1.12.1,但是该项目中存在一些bug,这里记录一下我在使用过程中踩过的坑,给遇到同样问题的同学一点经验。

在使用GetFtp处理器获取数据时,有时会遇到数据获取特别慢的情况,经过我查看源码之后,发现可以在nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/FTPTransfer

类的第343行,在client.completePendingCommand();前面添加in.close,解决ftp文件获取慢的问题,原因是调用completePendingCommand()方法前必须将流关掉,否则就会卡死。