本文共 1222 字,大约阅读时间需要 4 分钟。
最近在学习的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/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 Mappermapper; private MapDriver driver; @Before public void setUp() { mapper = new IdentityMapper (); driver = new MapDriver (mapper); } @Test public void testIdentityMapper() { driver.withInput(new Text("foo"), new Text("bar")) .withOutput(new Text("foo"), new Text("bar")) .runTest(); }}
参考材料:
博客园 逖靖寒
转载地址:http://qvwob.baihongyu.com/