首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

在Hadoop中施用MRUnit进行单元测试

2012-07-26 
在Hadoop中使用MRUnit进行单元测试最近在学习Marcello de Sales的TF-IDF示例的时候,需要用到MRUnit来对Map

在Hadoop中使用MRUnit进行单元测试

最近在学习Marcello de Sales的TF-IDF示例的时候,需要用到MRUnit来对Map、Reduce、MapReduce做测试,

网上找了一个极其简单的教程:

?

介绍:

? ? ? ?MRUnit是一款由Couldera公司开发的专门针对Hadoop中编写MapReduce单元测试的框架。

它可以用于0.18.x版本中的经典org.apache.hadoop.mapred.*的模型,也能在0.20.x版本org.apache.hadoop.mapreduce.*的新模型中使用。

安装:

? ? ? ?在目前Hadoop的发行版中,并没有默认包含MRUnit。你需要去Couldera公司的官网中去下载一个由他们再次发行的版本。

? ? ? 推荐的版本为:hadoop-0.20.1+133.tar.gz?。

? ? ? ?下载这个文件后,你将在hadoop-0.20.1+133/contrib/mrunit目录中找到我们需要的jar包:hadoop-0.20.1+133-mrunit.jar。

? ? ? ?为了使用MRUnit,我们需要将hadoop-0.20.1+133-mrunit.jar和Junit4.x使用的jar包:junit.jar都添加到我们开发Hadoop程序项目的classpath中。

示例:

?

package gpcuster.cnblogs.com;import junit.framework.TestCase;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapred.Mapper;import org.apache.hadoop.mapred.lib.IdentityMapper;import org.junit.Before;import org.junit.Test;import org.apache.hadoop.mrunit.MapDriver;public class TestExample extends TestCase {  private Mapper<Text, Text, Text, Text> mapper;  private MapDriver<Text, Text, Text, Text> driver;  @Before  public void setUp() {    mapper = new IdentityMapper<Text, Text>();    driver = new MapDriver<Text, Text, Text, Text>(mapper);  }  @Test  public void testIdentityMapper() {    driver.withInput(new Text("foo"), new Text("bar"))            .withOutput(new Text("foo"), new Text("bar"))            .runTest();  }}
?

?

参考材料:

博客园 逖靖寒?http://gpcuster.cnblogs.com

?

热点排行