2

MRUnit 1.1.0 でいくつかの MapReduce をテストしようとしていますが、次のエラーが発生しました。

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 が機能しない理由がわかりません。何も返されません。コードの内部に入りましたが、わかりませんでした。どんな手掛かり?

4

0 に答える 0