错误MRUnit和MultipleOutput,缺少输出

时间:2014-10-13 12:30:26

标签: mapreduce mrunit

我正在尝试使用MRUnit 1.1.0测试一些MapReduces,但是我收到了这个错误:

14/10/13 14:19:49 ERROR mrunit.TestDriver: Missing expected outputs for namedOutput 'a'
14/10/13 14:19:49 ERROR mrunit.TestDriver: Missing expected output (b, a) for namedOutput 'a' at position 0.
14/10/13 14:19:49 ERROR mrunit.TestDriver: Expected no pathOutputs; got 1 pathOutputs.
14/10/13 14:19:49 ERROR mrunit.TestDriver: Received unexpected output (b, a) for unexpected PathOutput 'a'

我执行的代码是:

mapTextDriver.withInput(new LongWritable(1), new Text(content));
mapTextDriver.withMultiOutput("a", "b", "a");
mapTextDriver.runTest();

我正在阅读JIRA https://issues.apache.org/jira/browse/MRUNIT-13,他们将新功能添加到MRUnit,但我不知道我错过了什么..

我还包括注释:

@RunWith(..)
@PrepareForTest(..)

我继续检查代码和调试,我修复了。问题是我在Mapper中写作的方式。我正在使用mop.write(K,V,baseOutput)实例mop.write(NameFile,K,V),现在,它正在使用

mapTextDriver.runTest();

但我真的觉得

更加舒适
List<Pair<NullWritable, Text>> outputs = mapTextDriver.run();

我不知道为什么它不能以这种方式运行MRUnit,它什么都不返回。我进入了代码,我没有得到它。任何线索?

0 个答案:

没有答案