温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MapReduce的简单案例

发布时间:2020-06-27 22:37:22 来源:网络 阅读:582 作者:colapanda 栏目:大数据

字数统计:

MapReduce的简单案例

MapReduce过程:

  1. 写一个继承mapper的类,声明输入(基本固定)输出(看需求)类型

  2. 重写mapK,Vcontext),map方法会被调用多次,每次调用map方法读取split传过来的一行数据,需要将这一行数据切割(StringTokeizer类,默认看空格切割)

  While遍历,通过context输出


MapReduce的简单案例


要书写一个程序主入口类,将程序打包发给JobTracker(移动计算而不是移动数据)

MapReduce的简单案例

MapReduce的简单案例

注意,这里因为是本地的程序,将程序打成xxx.jar包,放入namenode节点的服务器上执行

Hadoop/bin有个hadoop命令

#./hadoop (回车) 展开所有和hadoop组合的命令

#./hadoop jar    path/xxx.jar   ww.cola.JobRun


------------------------------------------------------------------

好友推荐系统:笛卡尔积运算

一对朋友的关系,每个个体既是主又是从,即一个人又做K又做V

因此map处理后的数据会增加,每调用一次map方法,输出两次数据,且KV

对调。

Map过程:

MapReduce的简单案例

在经过系统默认shuff处理,对相同K值得数据进行了合并

出现如下形式:(KeyValue用冒号隔开):

A:B C D E  //要处理他们之间可能的关系,只要将Value值做笛卡尔积

B: G

C:F

。。。

。。

Reduce过程:

Set存储因为可以去重


MapReduce的简单案例

MapReduce的简单案例

---------------------------------------------------------------------------------

精准广告推送:并且按照关注度由高到底排序

 

案例:在新浪微博中给小米手机打广告,找到那些关注手机的人,这些用在一登录后就弹出广告,并按关注度高低排序。

 

关注度权重公式:W=TF*Log(N/DF)   (打分)

TF:当前的关键字在该片微博内容中出现的次数

DF:当前的关键字在所有微博中内容中出现的条数,比如,“小米”,在某条微博中出现4次,只记为1条数据

N:微博总数

 

结果显示:(为了减少磁盘内容的开销,将不同关键词用唯一数字标识)

         微博的id     关键词1:分数 关键词2:分数  关键词3:分数 ….


之后我会专门写一篇博客

MapReduce的简单案例


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI