对于多个集合求两两交集(共同关注的用户、共同转载的微薄等)

用户   关注的产品
1      B C E
2      C E F
3      A D F
4      B C E
5      A B D
6      A B D

矩阵转置:
产品   关注该产品的用户
A      3 5 6
B      1 4 5 6
C      1 2 4
D      3 5 6
E      1 2 4
F      2 3


map 输入: 几行 (key  是用户   value  关注该用户的人),such as  第一行: A      3 5 6
map输出:key  3  value [5  A(共同关注产品A)],[6 A(共同关注产品A)]
                key  5  [6 A(共同关注产品A)]

                (只选出key为1的map输出)

                1:4--B, 1:5--B, 1:6--B

                1:2--C  ,1:4--C,

                无

                1:2--E  ,1:4--E,

                无

                ........................

reduce输入(按照key--value的第一项---value的第二项排序)。

 partion为1的reduce输入就是:1:2--C  , 1:2--E  , 1:4--B,1:4--C, 1:4--E,1:5--B,1:6--B

 reduce的输出 : 1和2共同关注C、E ,1和4共同关注了B、C、E,1和5共同关注了B,1和6共同关注了

 

 

end

posted @ 2011-08-15 10:09  xiao晓  阅读(1037)  评论(0编辑  收藏  举报