我正在考虑使用mapreduce处理csv文件,每个文件大小约为1MB,mapreduce的数据如下
lat , lng
18.123, 77.312
18.434,77,456
18,654,77,483
....
....
我想保持Map器和减速机上的输入文件数量计数。
fil1->map1->redcuer1-<output1
fil2->map2->redcuer2-<output2
.....
....
虽然对于我的Map器输入是key->filename,value->18.123,77.312,但是我需要计算第一条记录和第二条记录之间的距离
i.e Geo Distance for 1st record -> 18.123, 77.312 and 18.434,77,456
2nd record -> 18.123, 77.312 and 18.434,77,456
在mapper中,我一次读取一行csv文件,并将其传递给reducer,因此我想通过分隔符管道符号(|)将csv文件记录合并到csv数据上,如下所示:
lat|lng
18.123, 77.312|18.434,77,456|18,654,77,483|....|....|...
在mapper中,我将得到key->filename和values->csv的所有记录,使用pipe sign-in reducer,我将其拆分,计算距离并存储在mysql中
这是正确的方法还是有其他方法
提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!