gpt4 book ai didi

java - CSV文件的数据聚合java

转载 作者:行者123 更新时间:2023-12-01 14:17:00 25 4
gpt4 key购买 nike

我正在寻找解决我遇到的问题的最佳解决方案(-:

我有 k 个 csv 文件(例如 5 个 csv 文件),每个文件有 m 个字段,生成一个 key 和 n 值。我需要生成一个包含聚合数据的 csv 文件。例如

file 1: f1,f2,f3,v1,v2,v3,v4
a1,b1,c1,50,60,70,80
a3,b2,c4,60,60,80,90

file 2: f1,f2,f3,v1,v2,v3,v4
a1,b1,c1,30,50,90,40
a3,b2,c4,30,70,50,90

result: f1,f2,f3,v1,v2,v3,v4
a1,b1,c1,80,110,160,120
a3,b2,c4,90,130,130,180

我们到目前为止想到的算法:

  1. 哈希(使用 concurentHashTable)

  2. 对文件进行合并排序

  3. 数据库:使用mysql或hadoop。

解决方案需要能够处理大量数据(每个文件超过两百万行)

更好的示例:文件 1

country,city,peopleNum
england,london,1000000
england,coventry,500000

文件2:

country,city,peopleNum
england,london,500000
england,coventry,500000
england,manchester,500000

合并文件:

country,city,peopleNum
england,london,1500000
england,coventry,1000000
england,manchester,500000

key 是:国家/地区,当然是城市...这只是一个示例...我真正的 key 大小为 6,数据列大小为 8 - 总共 14 列

最佳答案

我认为答案确实取决于

1) 如果您需要现成的解决方案,那么 splunk 可能是您的最佳选择 ( http://splunk-base.splunk.com/answers/6783/handling-large-amount-of-csv-files-as-input-and-rename-sourcetype-as-well-as-specify-header )

2) 如果您有 Hadoop 的基础设施/带宽/开发时间,那么就去创建一个解决方案

3) 如果这是一次性作业,请创建一个合并排序解决方案(我已使用 sed/awk/sort 在 bash 中处理了 2 TB 文件)

4) 如果您不喜欢上述任何一种,可以使用自定义解决方案。

关于java - CSV文件的数据聚合java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18040831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com