非常に柔軟性のないソケット 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 の戻り行に対してこれを簡単に実行できますが、1 か月で約 6,000 万行を処理しています。何か案は?
編集: 残念ながら、行はソートされて返されません...また、API を介してソートするオプションもありません。集約する必要のあるこの巨大な混乱があります。現在、ArrayList を使用して indexOf(new row) を実行して、アイテムが既に存在するかどうかを確認していますが、行が増えるほど遅くなります。
編集:明確にするために、これは月末に月に一度だけ実行する必要があります。すべての応答に感謝します