MapReduce实现单表关联(微博关注推荐)

本文介绍如何使用MapReduce实现单表关联,特别是在处理微博关注推荐场景中的应用。通过阅读,你可以理解在map阶段如何处理数据,生成左表和右表,并在reduce阶段进行数据关联操作。
摘要由CSDN通过智能技术生成

利用MapReduce实现单表关联比多表关联稍微复杂一些。

例如有如下一个文件,两列数据:

<pre name="code" class="java">followed following
1	2
2	3
5	7
7	6

 followed是被关注者,following是关注者,如果将其看做是一个简单的微博关注关系,我们可以从中看出,3关注了2,2关注了1,那么我们可以向3推荐1,因为1是3的偶像的偶像;6关注了7,7关注了5,则5是6的偶像的偶像,我们可以向6推荐5于是可以形成如下的推荐列表: 

followed following
1           3
5           6

意即向6推荐5,向3推荐1.

实现思路如下:首先在map中将数据读入后生成如下两个表:一个左表一个右表:

这个是右表,在following列加“a+”标志:

followed following
1	a+2
2	a+3
5	a+7
7	a+6
这个是左表,在followed列加“b+”标志:

following <span style="font-family: Arial, Helvetica, sans-serif;">followed</span>
2         b+1
3         b+2
7         b+5
6         b+7
很显然,有一部分following其自身也是followed,将这两列数据和在一起的时候,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值