1

mongo-hadoop ジョブをどのように単体テストしますか?

これまでの私の試み:

public class MapperTest {

    MapDriver<Object, BSONObject, Text, IntWritable> d;

    @Before
    public void setUp() throws IOException {
        WordMapper mapper = new WordMapper();
        d = MapDriver.newMapDriver(mapper);
    }

    @Test
    public void testMapper() throws IOException {

        BSONObject doc = new BasicBSONObject("sentence", "Two words");
        d.withInput(new Text("anykey"), doc );

        d.withOutput(new Text("Two"), new IntWritable(1));
        d.withOutput(new Text("words"), new IntWritable(1));

        d.runTest();
    }
}

次の出力が生成されます。

クラス org.bson.BasicBSONObject の io.serializations の conf にシリアライゼーションを実装する該当するクラスはありません

org.apache.hadoop.mrunit.internal.io.Serialization.copy(Serialization.java:67) の java.lang.IllegalStateException org.apache.hadoop.mrunit.internal.io.Serialization.copy(Serialization.java:91) ) org.apache.hadoop.mrunit.internal.io.Serialization.copyWithConf(Serialization.java:104) で org.apache.hadoop.mrunit.TestDriver.copy(TestDriver.java:608) で org.apache.hadoop. mrunit.TestDriver.copyPair(TestDriver.java:612) at org.apache.hadoop.mrunit.MapDriverBase.addInput(MapDriverBase.java:118) at org.apache.hadoop.mrunit.MapDriverBase.withInput(MapDriverBase.java:207) ...

4

1 に答える 1