hadoop中关于mapreduce的单元测试
来源:互联网 发布:手机声音剪辑软件 编辑:程序博客网 时间:2024/05/29 19:24
这个功能好像是CDH那边开发的。。。
1. 首先下载jar包:hadoop-0.21.0-mrunit.jar。(经测试,这个jar包是关联旧API的。请自己根据情况决定)
2. 在eclipse的build path中加入此jar包。
3. 编写测试程序:
package unittest;import java.io.IOException;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapred.JobConf;import org.apache.hadoop.mapred.OutputCollector;import org.apache.hadoop.mapred.Reducer;import org.apache.hadoop.mapred.Reporter;import org.apache.hadoop.mrunit.ReduceDriver;import org.junit.Before;import org.junit.Test;@SuppressWarnings("all")public class ReducerTest {public static class ReducerClass implements Reducer<Text, IntWritable, Text, IntWritable> {private IntWritable intvalue = new IntWritable(0);@Overridepublic void configure(JobConf job) {job.setJobName("test");System.err.println("in configure method");System.out.println("job name is set to: ---------preset--------" +"------------------------" + job.getJobName());//System.out.println("job.getJobEndNotificationURI() -----" +//"-----preset------------" + job.getJobEndNotificationURI());//System.out.println("job.getJobLocalDir() -----" +//"------preset-----------" + job.getJobLocalDir());//System.out.println("job.getJobPriority() -----" +//"------preset-----------" + job.getJobPriority());}@Overridepublic void close() throws IOException {System.err.println("in close method");}@Overridepublic void reduce(Text key, Iterator<IntWritable> values,OutputCollector<Text, IntWritable> output, Reporter reporter)throws IOException {int sum = 0;while (values.hasNext()) {sum += values.next().get();}intvalue.set(sum);output.collect(key, intvalue);}}private Reducer reducer;private ReduceDriver reducerDriver;@Beforepublic void init() {reducer = new ReducerClass();reducerDriver = new ReduceDriver(reducer);}@Testpublic void test() {String key = "key";List values = new ArrayList();values.add(new IntWritable(5));values.add(new IntWritable(3));reducerDriver.withInput(new Text(key), values) .withOutput(new Text("key"), new IntWritable(8)) .runTest();}}
0 0
- hadoop中关于mapreduce的单元测试
- Hadoop中MapReduce的原理
- hadoop中mapreduce的默认设置
- Hadoop 中MapReduce的数据流
- 关于hadoop mapreduce的job cleanup阶段
- Hadoop中 MapReduce中InputSplit的分析
- Hadoop关于MapReduce
- hadoop 1.0.4 版本mapreduce 单元测试
- 关于hadoop的mapreduce编程中自定义key,value建立的类实现writable接口
- 关于在hadoop的mapreduce程序中使用GroupingComparator组件的注意事项
- Hadoop的MapReduce中多文件输出
- Hadoop的MapReduce中多文件输出
- Hadoop的MapReduce中多文件输出
- hadoop中mapreduce的常用类
- 浅谈hadoop中mapreduce的文件分发
- Hadoop的MapReduce中多文件输出
- Hadoop的MapReduce中多文件输出 .
- Hadoop的MapReduce中多文件输出
- Servlet的参数配置
- java 执行 oracle 存储过程
- 黑马程序员--构造方法与继承
- oracle over (partition by )用法
- 测试面试
- hadoop中关于mapreduce的单元测试
- OpenGL中三维纹理对象的使用
- 手机用例测试
- Android 的 BroadcastReceiver
- 一个纸水杯的测试用例设计。
- android 编译c
- 考勤项目(gui)
- 常用的五大bug管理工具的优缺点和下载地址
- Json