我在 Centos 7 上使用 Apache NiFi 0.4.1 和 Java 7,并尝试根据一些传入数据创建流文件。由于我生成大量数据,我遇到了“OutOfMemoryError:Java 堆空间”异常。
据我所知,这是因为 NiFi 在写入流文件时提供的输出流是 ByteArrayOutputStream,因此数据存储在内存中。我可以理解为什么会发生这种情况,但我可以使用 GetFile/PutFile 来处理一个更大的文件(我尝试加载一个 10Gb 文件,记录其属性并将其写入另一个位置,这很有效)。我在这里缺少什么吗?有没有办法编写更大的流文件?或者 NiFi 0.5.0 有什么改变可以帮助我吗?
注意:我认为增加可用的 java 堆空间量不会解决我的问题