gpt4 book ai didi

java - 生成大型 FlowFiles 时 Apache NiFi OutOfMemoryError

转载 作者:行者123 更新时间:2023-11-30 10:49:01 24 4
gpt4 key购买 nike

我在 Centos 7 上使用 Apache NiFi 0.4.1 和 Java 7,并尝试根据一些传入数据创建流文件。由于生成的数据量很大,我遇到了“OutOfMemoryError:Java 堆空间”异常。

据我所知,这是因为 NiFi 在写入流文件时提供的输出流是 ByteArrayOutputStream,因此数据存储在内存中。我能理解为什么会发生这种情况,但我能够使用 GetFile/PutFile 来处理更大的文件(我尝试加载一个 10Gb 文件,记录其属性并将其写入不同的位置,这有效)。我在这里缺少什么吗?有没有办法编写更大的流文件?还是 NiFi 0.5.0 改变了什么来帮助我?

注意:我认为增加可用的 Java 堆空间量不会解决我的问题

最佳答案

正如评论中强调的那样,单元测试框架使用内容存储库的一种变体,其中所有内容都存储在内存中以提高测试速度。确实,如果内容很大,你就是在直接对堆施加压力。在实际应用中,这些项目通过流到/从磁盘读取到/从内容存储库。

如果扩展正在读取内存中的内容而不是对大文件使用流式传输,那么这些问题也可能出现在核心框架中。

关于java - 生成大型 FlowFiles 时 Apache NiFi OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35580124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com