|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.hadoop.mrunit.TestDriver<K1,V1,K3,V3,T> org.apache.hadoop.mrunit.MapReduceDriverBase<K1,V1,K2,V2,K3,V3,MapReduceDriver<K1,V1,K2,V2,K3,V3>> org.apache.hadoop.mrunit.MapReduceDriver<K1,V1,K2,V2,K3,V3>
public class MapReduceDriver<K1,V1,K2,V2,K3,V3>
Harness that allows you to test a Mapper and a Reducer instance together (along with an optional combiner). You provide the input key and value that should be sent to the Mapper, and outputs you expect to be sent by the Reducer to the collector for those inputs. By calling runTest(), the harness will deliver the input to the Mapper, feed the intermediate results to the Reducer (without checking them), and will check the Reducer's outputs against the expected results. This is designed to handle the (k, v)* -> (k, v)* case from the Mapper/Reducer pair, representing a single unit test. If a combiner is specified, then it will be run exactly once after the Mapper and before the Reducer.
Field Summary | |
---|---|
static org.apache.commons.logging.Log |
LOG
|
Fields inherited from class org.apache.hadoop.mrunit.MapReduceDriverBase |
---|
inputList, keyGroupComparator, keyValueOrderComparator, mapInputPath |
Fields inherited from class org.apache.hadoop.mrunit.TestDriver |
---|
counterWrapper, expectedEnumCounters, expectedOutputs, expectedStringCounters |
Constructor Summary | |
---|---|
MapReduceDriver()
|
|
MapReduceDriver(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> m,
org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> r)
|
|
MapReduceDriver(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> m,
org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> r,
org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> c)
|
Method Summary | ||
---|---|---|
org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> |
getCombiner()
|
|
org.apache.hadoop.mapred.Counters |
getCounters()
|
|
org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> |
getMapper()
|
|
org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> |
getReducer()
|
|
static
|
newMapReduceDriver()
Returns a new MapReduceDriver without having to specify the generic types on the right hand side of the object create statement. |
|
static
|
newMapReduceDriver(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> mapper,
org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> reducer)
Returns a new MapReduceDriver without having to specify the generic types on the right hand side of the object create statement. |
|
static
|
newMapReduceDriver(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> mapper,
org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> reducer,
org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> combiner)
Returns a new MapReduceDriver without having to specify the generic types on the right hand side of the object create statement. |
|
List<Pair<K3,V3>> |
run()
Runs the test but returns the result set instead of validating it (ignores any addOutput(), etc calls made before this) |
|
void |
setCombiner(org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> c)
Sets the reducer object to use as a combiner for this test |
|
void |
setCounters(org.apache.hadoop.mapred.Counters ctrs)
Sets the counters object to use for this test. |
|
void |
setMapper(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> m)
Set the Mapper instance to use with this test driver |
|
void |
setReducer(org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> r)
Sets the reducer object to use for this test |
|
String |
toString()
|
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withCombiner(org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> c)
Identical to setCombiner(), but with fluent programming style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withCounters(org.apache.hadoop.mapred.Counters ctrs)
Sets the counters to use and returns self for fluent style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withMapper(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> m)
Sets the Mapper instance to use and returns self for fluent style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withOutputFormat(Class<? extends org.apache.hadoop.mapred.OutputFormat> outputFormatClass,
Class<? extends org.apache.hadoop.mapred.InputFormat> inputFormatClass)
Configure Reducer to output with a real OutputFormat . |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withReducer(org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> r)
Identical to setReducer(), but with fluent programming style |
Methods inherited from class org.apache.hadoop.mrunit.MapReduceDriverBase |
---|
addAll, addInput, addInput, addInputFromString, getMapInputPath, preRunChecks, setKeyGroupingComparator, setKeyOrderComparator, setMapInputPath, shuffle, withAll, withInput, withInput, withInputFromString, withKeyGroupingComparator, withKeyOrderComparator, withMapInputPath |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final org.apache.commons.logging.Log LOG
Constructor Detail |
---|
public MapReduceDriver(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> m, org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> r)
public MapReduceDriver(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> m, org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> r, org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> c)
public MapReduceDriver()
Method Detail |
---|
public org.apache.hadoop.mapred.Counters getCounters()
public void setCounters(org.apache.hadoop.mapred.Counters ctrs)
ctrs
- The counters object to use.public MapReduceDriver<K1,V1,K2,V2,K3,V3> withCounters(org.apache.hadoop.mapred.Counters ctrs)
public void setMapper(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> m)
m
- the Mapper instance to usepublic MapReduceDriver<K1,V1,K2,V2,K3,V3> withMapper(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> m)
public org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> getMapper()
public void setReducer(org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> r)
r
- The reducer object to usepublic MapReduceDriver<K1,V1,K2,V2,K3,V3> withReducer(org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> r)
r
- The Reducer to use
public org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> getReducer()
public void setCombiner(org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> c)
c
- The combiner object to usepublic MapReduceDriver<K1,V1,K2,V2,K3,V3> withCombiner(org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> c)
c
- The Combiner to use
public org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> getCombiner()
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withOutputFormat(Class<? extends org.apache.hadoop.mapred.OutputFormat> outputFormatClass, Class<? extends org.apache.hadoop.mapred.InputFormat> inputFormatClass)
Reducer
to output with a real OutputFormat
. Set
InputFormat
to read output back in for use with run* methods
outputFormatClass
- inputFormatClass
-
public List<Pair<K3,V3>> run() throws IOException
TestDriver
run
in class MapReduceDriverBase<K1,V1,K2,V2,K3,V3,MapReduceDriver<K1,V1,K2,V2,K3,V3>>
IOException
public String toString()
toString
in class Object
public static <K1,V1,K2,V2,K3,V3> MapReduceDriver<K1,V1,K2,V2,K3,V3> newMapReduceDriver()
public static <K1,V1,K2,V2,K3,V3> MapReduceDriver<K1,V1,K2,V2,K3,V3> newMapReduceDriver(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> mapper, org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> reducer)
mapper
- passed to MapReduceDriver constructorreducer
- passed to MapReduceDriver constructor
public static <K1,V1,K2,V2,K3,V3> MapReduceDriver<K1,V1,K2,V2,K3,V3> newMapReduceDriver(org.apache.hadoop.mapred.Mapper<K1,V1,K2,V2> mapper, org.apache.hadoop.mapred.Reducer<K2,V2,K3,V3> reducer, org.apache.hadoop.mapred.Reducer<K2,V2,K2,V2> combiner)
mapper
- passed to MapReduceDriver constructorreducer
- passed to MapReduceDriver constructorcombiner
- passed to MapReduceDriver constructor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |