MapReduce的简单案例 |
您所在的位置:网站首页 › mapreduce例题 › MapReduce的简单案例 |
MapReduce的简单案例
发布时间:2020-06-27 22:37:22
来源:网络
阅读:506
作者:colapanda
栏目:大数据
字数统计: MapReduce过程: 写一个继承mapper的类,声明输入(基本固定)输出(看需求)类型 重写map(K,V,context),map方法会被调用多次,每次调用map方法读取split传过来的一行数据,需要将这一行数据切割(StringTokeizer类,默认看空格切割) While遍历,通过context输出 要书写一个程序主入口类,将程序打包发给JobTracker(移动计算而不是移动数据) 注意,这里因为是本地的程序,将程序打成xxx.jar包,放入namenode节点的服务器上执行 Hadoop/bin有个hadoop命令 #./hadoop (回车) 展开所有和hadoop组合的命令 #./hadoop jar path/xxx.jar ww.cola.JobRun ------------------------------------------------------------------ 好友推荐系统:笛卡尔积运算 一对朋友的关系,每个个体既是主又是从,即一个人又做K又做V, 因此map处理后的数据会增加,每调用一次map方法,输出两次数据,且K和V 对调。 Map过程: 在经过系统默认shuff处理,对相同K值得数据进行了合并 出现如下形式:(Key和Value用冒号隔开): A:B C D E //要处理他们之间可能的关系,只要将Value值做笛卡尔积 B: G C:F 。。。 。。 Reduce过程: 用Set存储因为可以去重 --------------------------------------------------------------------------------- 精准广告推送:并且按照关注度由高到底排序
案例:在新浪微博中给小米手机打广告,找到那些关注手机的人,这些用在一登录后就弹出广告,并按关注度高低排序。
关注度权重公式:W=TF*Log(N/DF) (打分) TF:当前的关键字在该片微博内容中出现的次数 DF:当前的关键字在所有微博中内容中出现的条数,比如,“小米”,在某条微博中出现4次,只记为1条数据 N:微博总数
结果显示:(为了减少磁盘内容的开销,将不同关键词用唯一数字标识) 微博的id 关键词1:分数 关键词2:分数 关键词3:分数 …. 之后我会专门写一篇博客 推荐内容:静态路由简单案例 免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。 map 实际 reduce 上一篇新闻:Oracle的专用数据库和共享数据库区别 下一篇新闻:程序员修炼之道_从小工到专家_读书分享 猜你喜欢 Pandas常用的索引方式有哪些 MySQL的隔离性与隔离级别 数据库中经典的同期群举例分析 Python清洗数据的方法是什么 数据库中数仓是什么 MySQL MVCC更新数据时读到的值是什么 数据库的并查集怎么理解 实用的IDEA插件有哪些 用一条SQL插入跟更新执行流程以及日志系统原理 如何进行Redis GeoHash核心原理解析 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |