/** * Returns a new MapReduceDriver without having to specify the generic types * on the right hand side of the object create statement. * * @return new MapReduceDriver */ public static <K1, V1, K2, V2, K3, V3> MapReduceDriver<K1, V1, K2, V2, K3, V3> newMapReduceDriver() { return new MapReduceDriver<K1, V1, K2, V2, K3, V3>(); }
/** * Returns a new MapReduceDriver without having to specify the generic types * on the right hand side of the object create statement. * * @param mapper * passed to MapReduceDriver constructor * @param reducer * passed to MapReduceDriver constructor * @return new MapReduceDriver */ public static <K1, V1, K2, V2, K3, V3> MapReduceDriver<K1, V1, K2, V2, K3, V3> newMapReduceDriver( final Mapper<K1, V1, K2, V2> mapper, final Reducer<K2, V2, K3, V3> reducer) { return new MapReduceDriver<K1, V1, K2, V2, K3, V3>(mapper, reducer); }
/** * Returns a new MapReduceDriver without having to specify the generic types * on the right hand side of the object create statement. * * @param mapper * passed to MapReduceDriver constructor * @param reducer * passed to MapReduceDriver constructor * @param combiner * passed to MapReduceDriver constructor * @return new MapReduceDriver */ public static <K1, V1, K2, V2, K3, V3> MapReduceDriver<K1, V1, K2, V2, K3, V3> newMapReduceDriver( final Mapper<K1, V1, K2, V2> mapper, final Reducer<K2, V2, K3, V3> reducer, final Reducer<K2, V2, K2, V2> combiner) { return new MapReduceDriver<K1, V1, K2, V2, K3, V3>(mapper, reducer, combiner); } }
/** * Gets a map reduce driver that can be used to create a test case * * @return Map reduce driver */ protected MapReduceDriver<TKey, TValue, TIntermediateKey, TIntermediateValue, TReducedKey, TReducedValue> getMapReduceDriver() { return new MapReduceDriver<TKey, TValue, TIntermediateKey, TIntermediateValue, TReducedKey, TReducedValue>( this.getMapperInstance(), this.getReducerInstance()); } }
@Test public void testHypercubeMapReduce() throws IOException { MapReduceDriver<Writable, VectorWritable, IntWritable, CentroidWritable, IntWritable, CentroidWritable> mapReduceDriver = new MapReduceDriver<Writable, VectorWritable, IntWritable, CentroidWritable, IntWritable, CentroidWritable>(new StreamingKMeansMapper(), new StreamingKMeansReducer()); Configuration configuration = mapReduceDriver.getConfiguration(); configure(configuration); System.out.printf("%s full test\n", configuration.get(StreamingKMeansDriver.SEARCHER_CLASS_OPTION)); for (Centroid datapoint : syntheticData.getFirst()) { mapReduceDriver.addInput(new IntWritable(0), new VectorWritable(datapoint)); } List<org.apache.hadoop.mrunit.types.Pair<IntWritable, CentroidWritable>> results = mapReduceDriver.run(); testReducerResults(syntheticData.getFirst().size(), results); }