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

地图reduce作业单元测试

2012-09-27 
mapreduce作业单元测试用官方提供的MRunit包进行对MapReducer作业进行测试http://mrunit.apache.org/先要

mapreduce作业单元测试

用官方提供的MRunit包进行对MapReducer作业进行测试

http://mrunit.apache.org/

先要下载对应的测试包,分为1.0和2.0的hadoop版本

?

来自:

https://cwiki.apache.org/confluence/display/MRUNIT/MRUnit+Tutorial

?

Mapper

?

import java.util.List;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mrunit.mapreduce.MapDriver;import org.apache.hadoop.mrunit.mapreduce.MapReduceDriver;import org.apache.hadoop.mrunit.mapreduce.ReduceDriver;import org.junit.Before;import org.junit.Test;import flex.messaging.io.ArrayList;public class SMSCDRMapperReducerTest{    MapDriver<LongWritable, Text, Text, IntWritable> mapDriver;    ReduceDriver<Text, IntWritable, Text, IntWritable> reduceDriver;    MapReduceDriver<LongWritable, Text, Text, IntWritable, Text, IntWritable> mapReduceDriver;    @Before    public void setup()    {        SMSCDRMapper mapper = new SMSCDRMapper();        SMSCDRReducer reducer = new SMSCDRReducer();        mapDriver = MapDriver.newMapDriver(mapper);                reduceDriver = ReduceDriver.newReduceDriver(reducer);        mapReduceDriver = MapReduceDriver.newMapReduceDriver(mapper, reducer);    }        @Test    public void testMapper()    {        mapDriver.withInput(new LongWritable(), new Text(        "655209;1;796764372490213;804422938115889;6"));        mapDriver.withOutput(new Text("6"), new IntWritable(1));        mapDriver.runTest();    }        @Test    public void testReducer()    {        List<IntWritable> values = new ArrayList();        values.add(new IntWritable(1));        values.add(new IntWritable(1));        reduceDriver.withInput(new Text("6"), values);        reduceDriver.withOutput(new Text("6"), new IntWritable(2));        reduceDriver.runTest();    }}
?

?

?

热点排行