ItemCF算法及其测试方法介绍

发表于:2013-10-31 09:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:敏仪    来源:51Testing软件测试网

分享:
  二、基于Mapreduce算法开发过程分析
  将ItemCF算法转化为一系列首尾相接的Mapreduce处理。同一个Job的Mapper的输出是同一个Job的Reducer的输入;前一个Job的Reducer的输出是后一个Job的Mapper的输入:
  1)Mapper1: (k1, v1) list(k2, v2); Reducer1: (k2, list(v2)) list(k3, v3);
  2)Mapper2: (k3, v3) list(k4, v4); Reducer2: (k4, list(v4)) list(k5, v5);
  基于Mapreduce的ItemCF算法实现过程如下:
  1. Mapreduce计算过程的输入数据
  假设有5个用户的浏览情况如下图(图2)所示,需要对输入数据进行预处理。首先要计算每个用户浏览的宝贝个数,还需要求出每个宝贝被多少用户浏览过。(冗余字段的设计,可以针对不同的用户来源采用不同的计算公式,以便在Map阶段进行加权计算,本文中不作介绍)。Mapreduce计算的数据输入结构如下:

……………………

查看全文请点击下载:http://www.51testing.com/html/88/n-853288.html

  最后,根据用户的浏览行为和被浏览物品之间的相似度分数,为用户推荐可能的最感兴趣的物品。
  三、ItemCF算法的Mapreduce单元测试和本地集成测试
  本节所介绍的ItemCF算法测试方法所用测试数据将沿用上一节的分析案例。通过单元测试和本地集成测试验证基于Mapreduce开发的ItemCF算法正确性。
  针对hadoop的Mapreduce算法开发代码,通过集群运行结果来定位问题比较低效。当数据量大时,无法准确定位问题,调试代码比较耗时。因此,对Mapreduce的单元测试和Mapreduce的本地集成测试是非常有必要的。
  MRUnit是一款由Couldera公司开发的专门针对Hadoop中编写MapReduce单元测试的框架。可以用MapDriver单独测试Map,用ReduceDriver单独测试Reduce,用MapReduceDriver测试MapReduce作业。
  根据ItemCF算法的Mapreduce计算过程,进行单元测试。从上一节案例的算法分析过程来看,要进行MR的单元测试,分别需要对Map阶段和Reduce阶段进行测试,以及进行mapreduce的集成测试。
......
    查看全文请点击下载:http://www.51testing.com/html/88/n-853288.html
  版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
22/2<12
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号