1. 程式人生 > >使用MRUNIT測試MapReduce

使用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

org.apache.hadoop.mapred.lib.IdentityMapper;

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