Hadoop/Spark推荐系统(一)——共同好友
来源:互联网 发布:有没有唱歌软件 编辑:程序博客网 时间:2024/05/30 23:01
输入
mapper-input: #好友关系是对称的,整个数据的关系边是偶数
(u1,[f1,f2,f3])
(u2,[f2,f3])
(f1,[u1,f3])
(f2,[u1,u2])
(f3,[u1,u2,f1])
mapper-output
将一条用户的好友列表数据,拆成这个用户每个好友对为key的表示形式(key的表示字母或数字有序),value依然为好友里列表形式,共12组
([f1,u1],[f1,f2,f3])
([f2,u1],[f1,f2,f3])
([f3,u1],[f1,f2,f3])
([f2,u2],[f2,f3])
([f3,u2],[f2,f3])
([f1,u1],[u1,f3])
([f1,f3],[u1,f3])
([f2,u1],[u1,u2])
([f2,u2],[u1,u2])
([f3,u1],[u1,u2,f1])
([f3,u2],[u1,u2,f1])
([f3,f1],[u1,u2,f1])
shuffle-output
依照对称性,key相同的合并,数量正好减少一半,为6组
([f1,u1],[f1,f2,f3],[u1,f3])
([f2,u1],[f1,f2,f3],[u1,u2])
([f3,u1],[f1,f2,f3],[u1,u2,f1])
([f2,u2],[f2,f3],[u1,u2])
([f3,u2],[f2,f3],[u1,u2,f1])
([f1,f3],[u1,f3],[u1,u2,f1])
reduce-output
找出value里的两个list里重复的元素,即为共同好友
([f1,u1],[f3])
([f2,u1],[])
([f3,u1],[f1])
([f2,u2],[])
([f3,u2],[])
([f1,f3],[u1])
MR版本
map(key,value){ reduceValue=(<friend_1><friend_2>...<friend_N>) foreach friend in (<friend_1><friend_2>...<friend_N>){ reduceKey=buildSortedKey(person,friend) emit(reducerKey,reducerValue); }}reduce(key,value){ outputValue=intersection(List_1,List_2,...,List_M) emit(key,outputCalue);}
Spark版本
map(P,{F_1,F_2,...,F_n}){ friends={F_1,F_2,...,F_N}; for(f:friends){ key = buildSortedTuple(P,f); emit(key,friends); }}reduce(key,values){ commonFriends=intersection(values); emit(key,friends)}
- Hadoop/Spark推荐系统(一)——共同好友
- Hadoop/Spark推荐系统(四)——推荐链接
- 寻找共同好友(hadoop解决方案)
- Hadoop好友推荐系统-推荐结果查询
- Hadoop好友推荐系统-数据表的初始化
- Hadoop好友推荐系统-用户距离计算
- Hadoop好友推荐系统-寻找最佳DC
- Hadoop好友推荐系统-画出决策图
- Hadoop好友推荐系统-执行分类算法
- Hadoop好友推荐系统-组别数据入库
- 推荐好友和共同好友sql
- Hadoop demo 找出共同好友
- Hadoop/Spark推荐系统(三)——经常一起购买的商品
- spark好友推荐
- Spark 好友推荐解决方案
- 共同好友(java)
- 推荐好友二度关系(Hadoop解决方案)
- hadoop找出QQ共同好友算法实现
- 复杂链表的复制
- IDEA 快捷键整理
- LTE学习总结—KPI优化中信息获取方式
- 安卓开发-国际化.风格主题.简单帧动画
- 泛型的意义及使用
- Hadoop/Spark推荐系统(一)——共同好友
- Asp.Net重定向过程
- 【论文学习】3D Convolutional Neural Networks for Human Action Recognition
- 欢迎使用CSDN-markdown编辑器
- Leetcode之Pascal's Triangle 问题
- bzoj 1951(Lucas定理+中国剩余定理)
- [复习]线段树 系列操作I
- 民谣不穷!
- 广播监听网络