hadoop实现求共同好友
前言
在很多社交APP中,比如大家熟悉的QQ好友列表中,打开会话框,经常可以看到下面有一栏共同好友的推荐列表,用户通过这种方式,可以添加潜在的关联好友
这种功能该如何实现呢?对redis比较了解的同学应该能很快想到,可以使用redis来实现这个功能。没错,redis确实是个不错的可以实现这个功能的方案。
但redis的实现有一定的局限性,因为redis存储和数据和计算时需要耗费较多的内存资源,设想一下,像腾讯QQ这样的规模,如果用这种方式做的话,估计Redis服务器的投入成本将是一笔不小的开销。
利用hadoop中的MapReduce同样可以实现这个功能,该如何实现呢?
业务分析
下面是原始的数据文件,第一栏可理解为本人,第二行为该用户的好友列表,以逗号分割,比如A用户的好友包括:B,C,D,F,E,O这几个,后面的行依次类推
A:B,C,D,F,E,O
B:A,C,E,K
C:F,A,D,I
D:A,E,F,L
E:B,C,D,M,L
F:A,B,C,D,E,O,M
G:A,C,D,E,F
H:A,C,D,E,O
I:A,O
J:B,O
K:A,C,D
L:D,E,F
M:E,F,G
O:A,H,I,J
</
hadoop实现求共同好友相关推荐
- 【大数据day14】——MapReduce的运行机制详解(案列:Reduce 端实现 JOIN, Map端实现 JOIN,求共同好友)
文章目录 1 .MapReduce的运行机制详解 1.1:MapTask 工作机制 详细步骤 配置 1.2 :ReduceTask 工作机制 详细步骤 1.3:Shuffle 过程 2. 案例: Re ...
- spark求共同好友
使用spark求共同好友: 在做一些项目时,又时可能遇到一些类似与求共同好友的要求,可以根据共同好友进行推荐添加好友,就比如说A和B的好友有M,K,O,L,那么有可能A和B就是也认识,所以可以把B推荐 ...
- 求共同好友和好友推荐系统
一.求共同好友 1.1 需求及分析 以下是qq的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的) A:B,C,D,F,E,O B:A,C,E,K C:A,B,D,E ...
- 使用hive求共同好友
一个mapreduce的经典题目--求共同好友,目前网上还没有人用hive实现,我来用hive算一下. 一.数据准备 create table friends(people string,friend ...
- hadoop 求共同好友
以下是qq的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的) A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D ...
- hadoop求共同好友案例
4.1 需求分析 以下是qq的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的) A:B,C,D,F,E,O B:A,C,E,K C:A,B,D,E,I D:A,E, ...
- hadoop3求共同好友
需求:求哪些人两两之间有共同的好友,及共同好友都有哪些人. 好友源数据 ------------------------------------ A:B,C,D,F,E,O B:A,C,E,K C:F ...
- 需求案例:求共同好友
以下是qq的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友 关系是单向的) A:B,C,D,F,E,O B:A,C,E,K C:A,B,D,E,I D:A,E,F,L E:B, ...
- Hadoop入门之共同好友实现Demo
以下是qq的好友列表数据,冒号前是一个用,冒号后是该用户的所有好友(数据中的好友关系是单向的) A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D, ...
最新文章
- oracle基本命令集锦
- python语言怎么输入-Python input()函数:获取用户输入的字符串
- 深度学习100例 | 第28天:水果的识别与分类(准确率99.9%)
- 【Laravel】连接sqlite,Database [] not configured,sqlite example
- c++和java哪个难_前端和Java开发哪个难?哪个学习容易一点?
- 游戏使用html签名,关于玩游戏的个性签名
- 第06讲:多路加速,了解多进程基本原理
- ubuntu服务器ssh登录密码修改,Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器...
- 这才是真正的用户增长
- 【微软的VDI】Windows Server 2012 RDS存储相关
- 出海业务网络加速方案技术能力详解
- pcap文件linux怎么打开,pcap文件用什么打开
- 如何编写系统设计说明书
- 移动物联网卡哪里可以办理
- 1688API大全、商品详情调用展示
- Cache架构以及X86ARM @Linux平台cache eviction功能测试
- 使用 STM32 测量频率和占空比的几种方法
- vue2或者vue3图片上传功能(upload)
- 在线人数的统计方法。
- AM的常用T-CODE
热门文章
- 郭盛华公司211万收购AI域名, 只为抢占人工智能市场
- JPA implementations comparison: Hibernate, Toplink Essentials, Openjpa, Eclipselink
- ISME | 热液微生物群落揭示了喷口区的生物地理学和嗜热性的进化历史
- 【转】干货分享-100个shell脚本
- CentOS时间、日期、计算器命令
- python总结报告模板_Python中RE模块总结
- java自定义异常并处理异常
- [yueqian_scut]蓝牙防丢器原理、实现与Android BLE接口编程
- 苹果 AirTag 防丢器震撼发布,让你的物品精确定位,防止丢失
- 使用PowerShell管理Office 365资源邮箱