私が抱えている問題の最善の解決策を探しています (-:
k 個の csv ファイル (たとえば 5 個の csv ファイル) があり、各ファイルにはキーと n 値を生成する m フィールドがあります。集計データを含む 1 つの 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
今まで考えていたアルゴリズム:
ハッシュ (concurentHashTable を使用)
ファイルの並べ替えをマージする
DB: mysql または hadoop を使用。
ソリューションは、膨大な量のデータ (各ファイルが 200 万行を超える) を処理できる必要があります。
より良い例: ファイル 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列