使用MRUNIT測試MapReduce
MRUnit是一款由Couldera公司開發的專門針對Hadoop中編寫MapReduce單元測試的框架。
下載這個檔案後,你將在hadoop-0.20.1+133\contrib\mrunit目錄中找到我們需要的jar包:hadoop-0.20.1+133-mrunit.jar。將這個jar包通過project structure 中的models加入該jar包到專案
開始寫測試程式:
Importjunit.framework.TestCase;
Importorg.apache.hadoop.io.Text;
Importorg.apache.hadoop.mapred.Mapper;
Import
Importorg.junit.Before;
Importorg.junit.Test;
Importorg.apache.hadoop.mrunit.MapDriver;
PublicclassTestExampleextendsTestCase{
privateMapper<Text,Text,Text,Text>mapper;
privateMapDriver<Text,Text,Text,Text>driver;
@Before
PublicvoidsetUp(){
Mapper=newIdentityMapper<Text,Text>();
Driver=newMapDriver<Text,Text,Text,Text>(mapper);
}
@Test
PublicvoidtestIdentityMapper(){
driver.withInput(newText("foo"),newText("bar"))
.withOutput(newText("foo"),newText("bar"))
.runTest();
}
}
以上程式可以執行,但是在測試MAXTemp溫度例項的時候,就報錯,提示NOsuchClass
所以懷疑是版本問題,於是又重新下載了
mrunit-1.0.0-hadoop2.jar
在project strcture中刪除原來的mrunitjar包,替換為新下載的jar包,問題解決,
hadoop版本為2.8.2