大数据综合项目:查找QQ共同好友

该项目使用Java编写的MapReduce程序,在Hadoop集群上运行,旨在处理社交网络中的用户数据,找出用户的共同好友。首先,通过MapReduce查找每个用户的好友隶属关系,然后根据这些关系找出两两用户之间的共同好友。项目分为查找好友隶属和查找共同好友两个模块,并详细描述了每个模块的业务流程和MapReduce的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

综合项目(三):查找QQ共同好友

3.1 项目分析

3.1.1 项目功能简介

社交网络中的好友是指在社交网络中出现在用户联系人列表中的用户,它是一种广义上的朋友,既可以是Facebook和街旁网中的好友,也可是新浪微博中的关注用户等。为社交网络用户推荐好友就是帮助用户在社交网络中找到她们感兴趣的用户,进而添加到自己的联系人列表之中。

在社交网络中存在大量稀疏的朋友关系,为用户提供准确、快速的好友推荐服务是一项极具挑战性的任务。当前,社交网络中的好友推荐通常利用三种用户信息:用户相似度信息、网路结构信息和内容信息。

目前的社交网络平台大都通过用户的属性信息来计算两个用户的相似度。两个用户的相似度越大,则他们之间越有可能成为好友,进而向他们彼此进行好友推荐。

在社交网络中,用户之间的好友关系在不断地建立和丰富,以此形成的社交网络结构也更加真实可靠。利用网络结构信息,采用不同的指标来度量用户的相似性,这样可以产生更好的好友推荐结果,让用户发现很多的熟人。

用户发布的内容信息,如评论信息、回复内容、用户标签、图片、视频等,在一定程度上与用户所关系的问题有关,研究人员已经开始探索利用各种内容信息,来为用户提供准确的好友推荐服务。

本项目使用Java语言编写MapReduce程序,帮助用户找出哪些人两两之间有共同好友,及他俩的共同好友都有谁。初始数据如图3.1所示,运行结果如图3.2所示。

 

图3.1 用户好友数据原始数据

 

图3.2 两两之间的共同好友

3.1.2 项目模块分析

根据“查找共同好友系统”程序的执行效果可知,该项目分为2个大模块,如图3.3所示。

 

图3.3 查找共同好友系统模块

1查找好友隶属:编写MapReduce程序,查找每个人的好友隶属关系,查找好友隶属于哪些人。

2查找共同好友:根据好友的隶属关系,查找两两的共同好友。

3.1.3 模块业务流程分析

1.对“查找好友隶属”的执行效果进行分析,业务流程如下。

1上传原始数据到HDFS的指定目录中。

2上传MapReduce程序到集群,使用命令行的方式执行该程序,查找每个人的好友隶属关系,并将隶属关系存放到HDFS的指定目录。

2.对“查找共同好友”的执行效果进行分析,业务流程如下。

1上传MapReduce程序到集群,使用命令行的方式执行该程序,将好友隶属关系文件作为数据源,进行两两的共同好友处理。

2到输出的结果目录下载结果数据,验证结果的正确性。

3.1.4项目涉及技术

使用Hadoop集群,并编写MapReduce,对好友原数数据进行处理,到两两的共同好友。

3.1.5 项目计划

“商品推荐系统”项目总开发课时数10课时,具体任务计划表见表3.1。

表3.1 任务计划表

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uyuy34

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值