我正在尝试测试下面的ReducerReducer,AvroKey,NullWritable>出于这些目的,我在测试中使用了下一个代码:CustomReducerreducer=newCustomReducer();reduceDriver=newReduceDriver,AvroKey,NullWritable>();Jobjob=newJob();reduceDriver=ReduceDriver.newReduceDriver(reducer).withConfiguration(job.getConfiguration());reduceDriver.setReducer(red
当我运行带有MultipleOutputs的基本MRUnit时,出现以下异常:java.lang.NullPointerExceptionatorg.apache.hadoop.fs.Path.(Path.java:105)atorg.apache.hadoop.fs.Path.(Path.java:94)atorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat.getDefaultWorkFile(FileOutputFormat.java:264)atorg.apache.hadoop.mapreduce.lib.outpu
我一直在mrunit文档中搜索,但到目前为止还没有找到。我如何在我的mrunit中传递配置参数。例如,如果我以wordcount为例。比方说,在我的驱动程序代码中我正在设置这个参数...conf.set("delimiter",args[2])在我的映射器代码中,我将其称为:Stringdelimiter=conf.get("delimiter");String[]tokens=value.toString().split(delimiter);for(Stringtoken:tokens)context.write(token,one);如何设置这个配置参数。我一直在研究这个例子:h
我有一个mapreduce作业,其中映射器从几个HBase表中读取。它在我的集群上运行良好。我正在用MRUnit追溯性地编写一些单元测试。我正在尝试从手动实例化的KeyValue对象列表中组合一个Result对象,以用作map()方法的输入。当我随后尝试读取map()方法中的多个列时,似乎只有列表中的第一个KeyValue对象保留在Result对象中——其他列为空。在下面,我有一个名为“0”的列族。privateMapDrivermapDriver;privateHopperHbaseMapperhopperHbaseMapper;@BeforepublicvoidsetUp(){ho
我只有一个映射器类,它创建用于批量加载到HBase的文件,并且我编写了一个MRUnit用于单元测试。虽然预期结果和重试结果相同,但MRUnit失败并显示消息“缺少预期输出”。预期输出:(4b657931,{"totalColumns":1,"families":{"default":[{"timestamp":9223372036854775807,"qualifier":"default","vlen":6}]},"row":"Key1"})实际输出:(4b657931,{"totalColumns":1,"families":{"default":[{"timestamp":922
我是Hadoop新手。我想使用MRUnitTest单独测试我的映射器部分。我已经尝试了很多。但我不知道如何解决以下错误-“MapDriver类型中的方法setMapper(Mapper)不适用于参数(Recommand.IdIndexMapper)”。我正在使用Hadoop-1.2.1、EclipseJuno、mrunit-1.0.0-hadoop1.jar、junit-4.11、mockito-all-1.9.5.jar。下面是我的代码,我的映射器类:类名:推荐,publicstaticclassIdIndexMapperextendsMapReduceBaseimplementsM
今天我发现ASF停用了mrunit(参见https://blogs.apache.org/foundation/entry/the_apache_news_round_up85和https://issues.apache.org/jira/browse/HADOOP-3733以及homepageitself)。除了“不活动”之外没有给出任何理由,所以我想必须有其他选择吗?将来应该使用什么来代替mrunit来对mapreduce作业进行单元测试? 最佳答案 我相信这次退休的原因是意识到Mockito已经可以处理您对映射器/缩减器进行单
相关问题@TestingmultipleoutputswithMRUnit但答案不适用于较新的版本1.1.0问题是如何设置多个命名输出,以便底层模拟实现识别命名路径。我写信是为了将相同的reducer记录写入2条路径。我可以通过调用MultipleOutputs.addNamedOutput(job,"mos",...)在常规MR作业中做同样的事情当我尝试运行mrunit时,出现以下异常Namedoutput'mos'notdefinedjava.lang.IllegalArgumentException:Namedoutput'mos'notdefinedatorg.apache.h
我正在O'Really的“Hadoop,权威指南第4版”一书中学习Hadoop,我在尝试创建用于MRUnit测试的Maven项目时遇到了问题。我刚刚创建了书中所示的pom.xml文件(只是更改了我的hadoop版本),但它不起作用,Eclipse向我展示了很多ArtifactTransferException。我的pom.xml看起来像这样:4.0.0TestUnitCounterTestUnitCounter4.0UTF-82.6.0org.apache.hadoophadoop-client${hadoop.version}junitjunit4.11testorg.apache.
我正在学习权威指南书中的Hadoop,并尝试执行导致错误的这段代码。第5章的示例。Github代码链接:资源:https://github.com/tomwhite/hadoop-book/blob/master/ch05/src/main/java/v1/MaxTemperatureMapper.javapublicclassMaxTemperatureMapperextendsMapper{@Overridepublicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedExce