MRUnit是一款由Couldera公司开发的专门针对Hadoop中编写MapReduce单元测试的框架。
推荐的版本为:hadoop-0.20.1+133.tar.gz。
下载这个文件后,你将在hadoop-0.20.1+133\contrib\mrunit目录中找到我们需要的jar包:hadoop-0.20.1+133-mrunit.jar。将这个jar包通过project structure 中的models加入该jar包到项目
开始写测试程序:
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{
privateMapper<Text,Text,Text,Text>mapper;
privateMapDriver<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(newText("foo"),newText("bar"))
.withOutput(newText("foo"),newText("bar"))
.runTest();
}
}
以上程序可以运行,但是在测试MAXTemp温度实例的时候,就报错,提示NOsuchClass,
所以怀疑是版本问题,于是又重新下载了
mrunit-1.0.0-hadoop2.jar
http://www.java2s.com/Code/Jar/m/Downloadmrunit100hadoop2jar.htm
在project strcture中删除原来的mrunitjar包,替换为新下载的jar包,问题解决,
hadoop版本为2.8.2