分享

MapReduce查找相邻记录

leegh1992 发表于 2016-5-20 17:20:37 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 3 8077
使用mapreduce完成一个需求:查找到相邻的前后多条记录。例如有一个文件内容为:
1 2 3
4 5 6
7 8 9
x y z
m l n
o p s
d x d
等等
我要找到与7 8 9相邻的前后两条的记录。
即结果为:
1 2 3
4 5 6

x y z
m l n

谢谢!

已有(3)人评论

跳转到指定楼层
langke93 发表于 2016-5-20 21:11:01
这里面有两种办法:
1.mapreduce默认是按行来分割的,到了你的函数里,已经是一行的数据了
所以需要重写分割函数
2.这个方法需要修改数据,就是记录下行号,然后通过计算找到对应的行号
回复

使用道具 举报

leegh1992 发表于 2016-5-20 21:48:36
langke93 发表于 2016-5-20 21:11
这里面有两种办法:
1.mapreduce默认是按行来分割的,到了你的函数里,已经是一行的数据了
所以需要重写 ...

谢谢!
回复

使用道具 举报

langke93 发表于 2016-5-21 06:51:58



重写可以按照这个:
hadoop的mapreduce如何自定义分割文件【改变默认按行分割】
http://www.aboutyun.com/forum.php?mod=viewthread&tid=18325


至于第二种:
直接写上序号,然后程序判断序号就能解决了。跟数据库判断是一样的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条