最近在学习Marcello de Sales的TF-IDF示例的时候,需要用到MRUnit来对Map、Reduce、MapReduce做测试,
网上找了一个极其简单的教程:
介绍:
MRUnit是一款由Couldera公司开发的专门针对Hadoop中编写MapReduce单元测试的框架。
它可以用于0.18.x版本中的经典org.apache.hadoop.mapred.*的模型,也能在0.20.x版本org.apache.hadoop.mapreduce.*的新模型中使用。
安装:
在目前Hadoop的发行版中,并没有默认包含MRUnit。你需要去Couldera公司的官网中去下载一个由他们再次发行的版本。
推荐的版本为:hadoop-0.20.1+133.tar.gz 。
下载这个文件后,你将在hadoop-0.20.1+133/contrib/mrunit目录中找到我们需要的jar包:hadoop-0.20.1+133-mrunit.jar。
为了使用MRUnit,我们需要将hadoop-0.20.1+133-mrunit.jar和Junit4.x使用的jar包:junit.jar都添加到我们开发Hadoop程序项目的classpath中。
示例:
package gpcuster.cnblogs.com;
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 {
private Mapper<Text, Text, Text, Text> mapper;
private MapDriver<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(new Text("foo"), new Text("bar"))
.withOutput(new Text("foo"), new Text("bar"))
.runTest();
}
}
参考材料:
博客园 逖靖寒 http://gpcuster.cnblogs.com
分享到:
相关推荐
《深入理解Mrunit-1.1.0-...总之,Mrunit-1.1.0-hadoop2是Hadoop 2.x环境下不可或缺的测试工具,通过它,我们可以对MapReduce作业进行细致的单元测试,确保每一个环节都经得起推敲,为大数据处理的可靠性提供有力保障。
**Hadoop MRUnit测试** Hadoop MRUnit是一个用于测试MapReduce程序的强大工具,它允许开发者在没有实际Hadoop集群的情况下,对MapReduce作业进行单元测试。这个框架模拟了Hadoop MapReduce的执行环境,使开发者可以...
用于hadoop单元测试的jar包 hadoop-mrunit-0.20.2-cdh3u4.jar
4. **易于集成**:MRUnit可以轻松地与JUnit或其他测试框架集成,使得开发者能够在现有的测试框架中添加MapReduce单元测试,进一步提升测试覆盖率和代码质量。 5. **异常处理**:MRUnit还帮助开发者识别和测试Mapper...
在使用"mrunit-1.1.0-hadoop2.jar"时,开发人员应确保他们的开发环境已经配置好Hadoop 2.x的相关依赖,然后将MRUnit库添加到项目中,编写测试类并继承MRUnit提供的基类,如`TestMapper`和`TestReducer`,利用提供的...
官网下载的Hadoop2的单元测试工具apache-mrunit-1.1.0-hadoop2-bin.tar.gz,用法跟JUnit相似,需要的朋友拿走
使用MRUnit时,首先需要在项目的pom.xml文件中添加MRUnit的依赖,区分Hadoop 1.x和2.x版本的库。Eclipse作为IDE,可以方便地进行MapReduce项目管理和MRUnit的单元测试。通过编写测试类,将Mapper和Reducer作为参数...
总结,Hadoop的学习涵盖了从理论理解到实践操作的多个层面,包括使用开发工具、编写MapReduce代码、进行单元测试和集成测试等。通过深入学习这些笔记,读者可以逐步掌握Hadoop的精髓,为应对大数据时代的挑战做好...
MRUnit测试支持JAR包,它便于将已知的输入传递给mapper或者检查reducer的输出是否符合预期。MRUnit与标准的执行框架(JUnit)一起使用。
在进行MapReduce程序开发时,单元测试是保证代码质量与正确性的重要环节。"MR Unit test需要的相关jar包"指的是为了有效地对MapReduce程序进行单元测试所必需的库文件。这些jar包通常不包括Hadoop运行环境的基础jar...
- 使用MRUnit编写测试单元。 - 输出提交机制。 - 分布式缓存功能。 - 任务内存监控。 - 通过MapReduce处理Avro数据。 - 在Oozie中运行简单的MapReduce工作流。 - **HDFS增强**: - 高可用性(HA)支持。 - ...
- MRUnit:是一个用于MapReduce任务单元测试的库。 - HCatalog:是Hadoop生态系统中的一个表和服务管理工具,允许用户访问存储在Hadoop的数据。 - Sqoop:是一个用于在Hadoop和关系数据库之间高效传输大量数据的...
技术点26 在HDFS、MapReduce、Pig 和Hive 中使用数据压缩 技术点27 在MapReduce、Hive 和Pig 中处理可分割的LZOP 5.3 本章小结 6 诊断和优化性能问题 6.1 衡量MapReduce 和你的环境 6.1.1 提取作业统计...
非常好用测试插件,在mapReduce下直接可以运行,本人亲测成功
在数据序列化方面,Hadoop对数据进行序列化是为了在网络中传输数据以及在磁盘上存储数据时能够有效地减少空间。Hadoop支持多种数据序列化类型,如Text、IntWritable、ObjectWritable、NullWritable、ByteWritable和...
使用MRUnit和PowerMock进行模拟业务流程的单元测试。 分析建模阶段,以提高用户转化率为例,通过对大数据平台的支持,识别出旧车接近设计寿命的用户群体,并制定相应的营销策略,如短信通告和电话销售。根据营销...
对于每个样本,我都包含了一些使用mrunit(map-reduce单元)的简单测试。 这是一个标准的Maven项目,因此您可以使用以下命令进行构建: mvn clean install字数程序包:com.sodonnel.Hadoop 这是wordcount示例的一种...
具有MRUnit测试的MapReduce WordCount应用程序 字符串对的MapReduce自定义可写实现 MapReduce自定义InputFormat和RecordReader实现 MapReduce自定义OutputFormat和RecordWriter实现 Pig自定义LoadFunc加载和解析...