mapreduce多重Map和redcuer

f87krz0w  于 2021-06-04  发布在  Hadoop
关注(0)|答案(0)|浏览(221)

我正在考虑使用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中
这是正确的方法还是有其他方法
提前谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题