java - 处理大量 POJO 的最佳方式

标签 java

我有一个不断增长的数据集(从第一天起就存储在谷歌电子表格中),现在我想对其进行一些分析。我完成了一些基本的电子表格处理,当数据集 < 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/

相关文章:

java - 在对象中实现二分查找

java - CTabFolder布局控件不渲染

java - 使用 DexClassLoader 启动 Activity

java - 如何在java中使用列表中的数组

java - 如何在 Java 中创建 boost 风格的函数对象?

java - 转义 Java 正则表达式中的特殊字符

java - 使用ReentrantReadWriteLock时是否需要降级锁

java - (底页)是否可以在不修改实际应用程序布局的情况下更新屏幕的层次结构?

java - 将 double 格式设置为五位小数

java - 为什么我不需要在 Mac OS X 中设置 CLASSPATH 和 JAVA_HOME?