我是Hadoop的新手。昨天照着书上的,使用了JUnit作为气象数据的apper单元测试。但是也有一些问题。这是我的pom文件:junitjunit4.11testorg.apache.hadoophadoop-common2.9.0providedorg.apache.hadoophadoop-hdfs2.9.0org.apache.hadoophadoop-core1.2.1org.apache.mrunitmrunit1.1.0hadoop2testorg.apache.hadoophadoop-minicluster2.9.0test这是问题:java.lang.Incompa
我创建了一个Mapper&Reducer,它使用AVRO作为输入,使用map-output和reduce输出。创建MRUnit测试时,我得到以下堆栈跟踪:java.lang.NullPointerExceptionatorg.apache.hadoop.io.serializer.SerializationFactory.getSerializer(SerializationFactory.java:73)atorg.apache.hadoop.mrunit.mock.MockOutputCollector.deepCopy(MockOutputCollector.java:74)at
我正在尝试使用Clouderahadoop发行版开发mr-job。我正在使用api版本2。我确实遇到了mr-unit的麻烦。请建议该怎么做。我已经使用了标准的原型(prototype)并且完全迷失了,我不明白问题的根源在哪里。这是我的依赖项:com.cloudera.hadoophadoop-core0.20.2-320providedcom.cloudera.hadoophadoop-mrunit0.20.2-320test这是我的测试代码:@TestpublicvoidtestEmptyOutput()throwsException{for(Stringline:linesFrom
我想看看是否有一种方法可以在没有hadoop设置的情况下在Windows中运行hadoopMapreduce单元测试。MRUnit是否作为Javamaven项目在Eclipse中的Windows(没有cygwin)上运行?谢谢斯里瓦赞纳拉扎加潘 最佳答案 您可以运行独立的MRUnit测试。您所需要的只是pom.xml中的一些依赖项。我只是做了一个快速的小测试,这些是我运行成功测试所需的唯一依赖项。只是一个带有硬编码值的简单测试。没有cywin,没有hadoop设置,只有依赖项。jdk.toolsjdk.tools1.7.0_25sy
我正在使用MRUnit测试MapReduce代码。我不能使用.withInputValue,因为它已被弃用。我找不到有效的等效项。setInputValue也不起作用。解决方法是什么? 最佳答案 使用withInput()。示例(这与mrunit-1.0.0-hadoop2.jar一起使用)MapDrivermapDriver;...mapDriver.withInput(newLongWritable(),newText("somelineoftext));mapDriver.withOUtput(newText("somekey
我一直在研究MRUnit,并尝试按照wordcount的教程为hadoopwordcount示例运行它和unittesting虽然不是粉丝,但我一直在使用Eclipse运行代码,但我一直收到setMapper函数的错误importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.Text;imp
我正在尝试使用MRUnit对Mapper程序进行单元测试(来自Hadoop:权威指南,第153页,部分:使用MRUnit编写单元测试:Mapper)。我正在使用intellijIdea,它显示方法错误neworg.apache.hadoop.mrunit.MapDriver().withMapper(myMapper)错误消息说,MapDriver中的withMapper(org.apache.hadoop.mapreduce.Mapper)不能应用于(complexmapreduce.MaxTempMapper)MaxTempMapper声明为org.apache.hadoop.ma
我正在尝试使用MRUnit测试一个简单的MapReduce项目。我为mapDriver设置了输入,然后调用mapDriver.runTest()(我也尝试过使用mapDriver.run()但产生了同样的错误)。我编写了一个自定义键,它重载了write(DataOutputout)、readFields(DataInputin)和compareTo(...)方法。调试时,Key使用write(DataOutputout)正确写入其数据。但是,在键的readFields(DataInputin)方法(正确检索之前使用write(DataOutputout)写入的数据)完成后,会抛出以下错
我目前有一个mapReduce程序,可以将数据发送到具有不同文件名的hdfs。所以在我的reducer中,我使用MultipleOutputs写入HDFS中的不同文件(下面的完整reducer代码)。我想使用mrunit测试我的代码,下面是我的测试方法。@TestpublicvoidreducerMRUnit()throwsIOException{Stringoutput="";ArrayListlist=newArrayList(0);list.add(newText(""));reduceDriver.withInput(newText(""),list);reduceDriver
我收到以下MRUnit错误:ERRORmrunit.TestDriver:Receivedunexpectedoutput(60,mrdp.MyCustomClass@73207f36)ERRORmrunit.TestDriver:Missingexpectedoutput(60,mrdp.MyCustomClass@6f73cf45)atposition0我创建了一个MyCustomClass,它实现了Writable,并且有4个int属性。这是我的映射器的输出值。下面是mapper的MRUnit测试代码:@TestpublicvoidtestMapper()throwsIOExce