gpt4 book ai didi

groovy - 如何使用 Groovy/GPars 最有效地处理 CSV 文件的行?

转载 作者:行者123 更新时间:2023-12-02 05:19:34 26 4
gpt4 key购买 nike

这个问题很简单,但令我惊讶的是,当我搜索它时,它并没有立即弹出。

我有一个 CSV 文件,可能非常大,需要处理。每行都应该交给处理器,直到处理完所有行。为了读取 CSV 文件,我将使用 OpenCSV,它本质上提供了一个 readNext() 方法,该方法为我提供了下一行。如果没有更多行可用,则所有处理器都应终止。

为此,我创建了一个非常简单的常规脚本,定义了一个同步 readNext() 方法(因为读取下一行并不真正耗时),然后创建了一些线程来读取下一行并处理它。它工作得很好,但是...

难道不应该有一个我可以使用的内置解决方案吗?这不是 gpars 集合处理,因为它始终假设内存中存在现有集合。相反,我无法将其全部读入内存然后处理它,这会导致内存不足异常。

那么......有人有一个很好的模板来使用几个工作线程“逐行”处理 CSV 文件吗?

最佳答案

并发访问文件可能不是一个好主意,GPars 的 fork/join 处理仅适用于内存中的数据(集合)。我的建议是将文件按顺序读入列表中。当列表达到一定大小时,使用 GPars 同时处理列表中的条目,清除列表,然后继续读取行。

关于groovy - 如何使用 Groovy/GPars 最有效地处理 CSV 文件的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7755964/

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