【发布时间】:2010-12-14 02:16:26
【问题描述】:
我正在连接一个非常不灵活的套接字 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) 来查找该项目是否已经存在,但是行数越多它就越慢。
编辑:为澄清起见,这只需要每月运行一次,在月底。谢谢大家的回复
【问题讨论】:
标签: java count aggregation