我正在连接一个非常不灵活的套接字 API。它将返回如下行:
NAME, CITY, STATE, JOB, MONTH
但是会有重复,因为它不做任何聚合。我需要计算重复的行(这在 SQL 中很容易,但据我所知,在 Java 中不是)。
示例源数据:
NAME, CITY, STATE, JOB, MONTH
John Doe, Denver, CO, INSTALLATION, 090301
John Doe, Denver, CO, INSTALLATION, 090301
John Doe, Denver, CO, INSTALLATION, 090301
Jane Doe, Phoenix, AZ, SUPPORT, 090301
故意的:
NAME, CITY, STATE, JOB, MONTH, COUNT
John Doe, Denver, CO, INSTALLATION, 090301, 3
Jane Doe, Phoenix, AZ, SUPPORT, 090301, 1
我可以轻松地为大约 100,000 个返回行执行此操作,但我在一个月内处理大约 6000 万个返回行。有任何想法吗?
编辑:不幸的是,这些行没有返回排序......也没有通过API对它们进行排序的选项。我得到了一大堆需要汇总的东西。现在我使用一个 ArrayList 并执行 indexOf(new row) 来查找该项目是否已经存在,但是越多的行它就越慢。
编辑:为澄清起见,这只需要每月运行一次,在月底。谢谢大家的回复