我正在尝试使用HDF 1.2中的NiFi处理大型CSV文件(每个文件可能有数十亿条记录)。我已经实现了我的工作流程,并且对于小文件,一切正常。
问题在于,如果我尝试将文件大小增加到100MB(1M条记录),SplitText处理器负责将文件拆分为单个记录时会出现
如何解决这个问题?我尝试更改nifi关于最大堆空间和其他相关内存属性的配置,但似乎没有什么作用。 目前,我添加了一个中间SplitText,行数为1K,这使我避免了错误,但我认为当传入文件的大小变得更大时,这不是一个稳定的解决方案,我担心我将从处理器中得到相同的行为。
欢迎任何建议!谢谢。
问题在于,如果我尝试将文件大小增加到100MB(1M条记录),SplitText处理器负责将文件拆分为单个记录时会出现
java.lang.OutOfMemoryError: GC overhead limit exceeded
错误。我搜索了该错误,它基本上意味着垃圾收集器执行时间过长而没有获得足够的堆空间。我期望这意味着太多的流文件正在非常快地生成。如何解决这个问题?我尝试更改nifi关于最大堆空间和其他相关内存属性的配置,但似乎没有什么作用。 目前,我添加了一个中间SplitText,行数为1K,这使我避免了错误,但我认为当传入文件的大小变得更大时,这不是一个稳定的解决方案,我担心我将从处理器中得到相同的行为。
欢迎任何建议!谢谢。