我有一个不断增长的数据集(从第一天起就存储在谷歌电子表格中),现在我想对其进行一些分析。我完成了一些基本的电子表格处理,当数据集 < 10,000 时效果很好,但现在我有超过 30,000 行,当我进行任何更改时,刷新表格需要很长的时间。
所以基本上每个数据条目都包含以下字段(除其他外):
Name, time, score, initial value, final value
我的电子表格可以作为数据分析解决方案,例如为我提供名称包含字符串“abc”且分数 < 100 的所有行。
但是,随着行数的增加,Google 表格生成结果所需的时间越来越长。
所以我想将我的所有数据加载到 Java 程序中(Java 因为这是我最熟悉的语言,并且希望用它作为一种有意义的方式来刷新我的 java 技能。)
我还有一个输入变量,我的电子表格在处理数据时使用该变量,我以增量步骤调整该变量以查看输出如何受到影响。但是要获得此输入变量的每次增量更改的结果需要太长时间。这是我想要自动化的东西,这样我就可以设置输入值的范围、增量步长,然后让系统为每个增量值生成输出。
我的问题是,将这些数据加载到 java 程序中的最佳方法是什么。我有一个 txt 文件中的数据,所以我想我可以将每一行读入它自己的 pojo 中,当所有 30,000 行都加载到 ArrayList 中时,开始对此进行处理。我可以使用更有效的数据容器或方法吗?
最佳答案
如果您有一堆任意(未指定,可能是临时)数据处理要做,并且使用电子表格被证明太慢,那么您最好寻找更好的工具或更适用的语言。
以下是多种可能性中的一些:
将数据加载到 SQL 数据库中并使用 SQL 查询执行分析。有许多交互式数据库工具。
OpenRefine。从未使用过它,但我听说它功能强大且易于使用。
学习 Python 或 R 及其相关的数据分析库。
可以用 Java 实现这一切,并使其运行速度非常快,但对于包含 30,000 条记录的数据集来说,(IMO)不值得进行开发工作。
关于java - 处理大量 POJO 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59097255/