我正在尋找一個問題的最佳解決方案,我有( - :CSV文件的java數據聚合
我的K CSV文件(例如CSV 5個文件)中,每個文件具有產生M場。一鍵 和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
算法,我們認爲到現在爲止:
哈希(使用concurent哈希表)
合併排序文件
DB:使用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
關鍵是:國家,城市,當然......這只是一個例子......我真正的關鍵是大小6和數據列是大小8 - 共計14列
有可能做到這一點的工具。我用「水壺」玩了一下,這可能很有趣。 – SJuan76
請更新您的問題,包括你如何唯一標識行(你怎麼知道什麼時候兩行可以「合併」),以及你如何合併這樣的行(顯然增加了一些的數值)。我相信我明白你是如何做的,但你不希望我或任何人做出錯誤的假設。 –
@RichardSitze喜理查德和感謝( - :.我已經更新的問題 – royB