- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大数据workshop云数据大计算海量日志数据分析和应用之社交数据分析好友篇
大数据workshop:《云数据·大计算:海量日志数据分析与应用》之《社交数据分析:好友推荐》篇本文章来自于阿里云云栖社区摘要:?本手册为云栖大会Workshop《云计算·大数据:海量日志数据分析与应用》的《社交数据分析:好友推荐》篇而准备。主要阐述如何在大数据开发套件中使用MR实现好友推荐。大数据workshop:《云数据·大计算:海量日志数据分析与应用》之《社交数据分析:好友推荐》篇实验背景介绍了解更多(原文链接:/2017/shenzhen/ti/index?spm=5176.100239.blogcont72536.11.7Xwu6L)2017云栖大会·深圳峰会TechInsight Workshop.本手册为云栖大会Workshop《云计算·大数据:海量日志数据分析与应用》的《社交数据分析:好友推荐》篇而准备。主要阐述如何在大数据开发套件中使用MR实现好友推荐。MapReduce应用场景搜索:网页爬取、倒排索引、PageRank;Web访问日志分析:分析和挖掘用户在web上的访问、购物行为特征,实现个性化推荐;文本统计分析:比如莫言小说的WordCount、词频TFIDF分析;学术论文、专利文献的引用分析和统计;海量数据挖掘:非结构化数据、时空数据、图像数据的挖掘;机器学习:监督学习、无监督学习、分类算法如决策树、SVM等;自然语言处理:基于大数据的训练和预测;基于语料库构建单词同现矩阵,频繁项集数据挖掘、重复文档检测等;广告推荐:用户点击(CTR)和购买行为(CVR)预测。涉及大数据产品大数据开发套件(原文链接:/product/ide?spm=5176.100239.blogcont72536.12.7Xwu6L)好友推荐MapReduce算法分析现在,社交网络已经成为影响力巨大的信息平台,社交网站中,用户可以通过“你可能感兴趣的人”途径增加交友方式。“你可能感兴趣的人”也称作“好友推荐”,它主要是通过查找两个非好友之间的共同好友情况来实现的。下面,将通过一个例子,简单介绍通过MapReduce的方式实现好友推荐功能。例如:A,B,C,D,E五个人的好友关系如下图,其中实线表示互为好友关系。那么,如何获取两个不是好友的两个人之间的好友数?并以此为参考,进行对用户推荐陌生人。首先,将好友关系分配到两个Map进行处理,其中每个Map包含3条好友关系。对每一条好友关系进行拆分,若Key中的两个人为朋友,则记录value值为0,否则value值为1。将拆分的结果进行排序,其中(A B)和(B A)作为同一个key(A B)。然后,将分别对两个Map处理的记录进行初步合并,若两个记录的Key值相同且每条记录的Value都不为0,则Value值加1。注意:在Combine阶段,必须保留Value为0的记录,否则,在Reduce阶段,获取的结果会出错。最后,通过Reduce方式,合并两个Map处理的Combine结果。首先,若两个记录的Key值相同且每条记录的Value都不为0,则Value值加1;然后,将Value值为0的记录删除;最后,获取不为好友的两个用户之间的公共好友数:Key为两个不为好友的用户,Value是两个不是好友的用户之间的共同好友数。社交网站或者APP可以根据这个数值对不是好友的两个用户进行推荐。实验详情下载实验数据点击下载实验数据进入大数据开发套件确保阿里云账号处于登录状态。step1:点击进入大数据开发套件**项目列表**。step2:点击已经创建的项目空间名称,进入大数据开发套件。新建数据表继上实验《数据采集:日志数据上传》和《数据加工:用户画像》中已经新建脚本文件,可以直接切换至脚本开发tab下,双击打开create_table_ddl脚本文件。若无新建脚本文件可通过如下详细步骤进行创建脚本文件。附建表SQLdroptableifexists dual;--创建系统dualcreatetable dual(idbigint);--如project中不存在此伪表,则需创建并初始化数据insert overwrite table dual selectcount(*)from dual;--向系统伪表初始化数据创建好友推荐MR的数据输入表.其中uid表示某个用户;friends表示uid用户的好友createtablefriends_in (uidstring, friends string);创建好友推荐MR的数据输出表.其中userA表示某个用户;userB表示不是userA的用户,cnt表示userA和userB之间的共同好友数。createtablefriends_out (userA string, userB string, cntbigint);导入本地数据step1:完成输入和输出表的
原创力文档


文档评论(0)