使用大数据时出错 System.OutOfMemoryException

Posted

技术标签:

【中文标题】使用大数据时出错 System.OutOfMemoryException【英文标题】:Error System.OutOfMemoryException when use large data 【发布时间】:2021-12-10 05:12:11 【问题描述】:

我有以下流程

这个过程是这样构建的:

从 TXT 文件中获取数据:文件管理:从文件中读取所有文本

转换数据:替换 ([Text] ; Chr(9) ; ",")

写入信息:文件管理:写入文本文件

将 DATA 转换为集合:文件管理:获取 CSV 文本作为集合

该过程是将一些具有超过 9M 字符的文本文件转换为一个集合(84266 行),但每次我尝试在第一次工作时执行我的进程但第二次时间我有以下错误

“System.OutOfMemoryException”类型的意外错误

【问题讨论】:

可能是内存泄漏。使用 Python 会更好。 【参考方案1】:

内存第一次被数据加载和转换为收集占用。 因此,在没有清除或重置的情况下进行任何进一步的操作将抛出内存异常。 要么

    通过调用垃圾收集器释放内存来清除内存。 您可以使用代码阶段并读取文本数据并将其转换为集合。 所有操作都可以在代码阶段完成,然后将最终变量或集合作为输出发送。

这样你可以连续多次,最后你可以释放一次内存。

【讨论】:

以上是关于使用大数据时出错 System.OutOfMemoryException的主要内容,如果未能解决你的问题,请参考以下文章

java中使用mysql批量插入大文本(二进制)数据时出错

使用kettle工具时,将excel表格中的数据导入到oracle数据库时,输出项出错。

SQL Server 2012 将数据类型 varchar 转换为数字时出错

使用 SourceTree 克隆非常大的 git 存储库时出错

SqlServer执行大的数据库脚本出错解决方法

WebUploader上传大文件时,上传出错问题