|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hadoop.mrunit.TestDriver<K1,V1,K3,V3>
org.apache.hadoop.mrunit.MapReduceDriverBase<K1,V1,K2,V2,K3,V3>
org.apache.hadoop.mrunit.mapreduce.MapReduceDriver<K1,V1,K2,V2,K3,V3>
public class MapReduceDriver<K1,V1,K2 extends Comparable,V2,K3,V3>
Harness that allows you to test a Mapper and a Reducer instance together 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 a single (k, v)* -> (k, v)* case from the Mapper/Reducer pair, representing a single unit test.
Field Summary | |
---|---|
static org.apache.commons.logging.Log |
LOG
|
Fields inherited from class org.apache.hadoop.mrunit.MapReduceDriverBase |
---|
inputList, keyGroupComparator, keyValueOrderComparator |
Fields inherited from class org.apache.hadoop.mrunit.TestDriver |
---|
configuration, expectedOutputs |
Constructor Summary | |
---|---|
MapReduceDriver()
|
|
MapReduceDriver(org.apache.hadoop.mapreduce.Mapper<K1,V1,K2,V2> m,
org.apache.hadoop.mapreduce.Reducer<K2,V2,K3,V3> r)
|
Method Summary | ||
---|---|---|
org.apache.hadoop.mapreduce.Counters |
getCounters()
|
|
org.apache.hadoop.mapreduce.Mapper<K1,V1,K2,V2> |
getMapper()
|
|
org.apache.hadoop.mapreduce.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.mapreduce.Mapper<K1,V1,K2,V2> mapper,
org.apache.hadoop.mapreduce.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. |
|
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 |
setCounters(org.apache.hadoop.mapreduce.Counters ctrs)
Sets the counters object to use for this test. |
|
void |
setMapper(org.apache.hadoop.mapreduce.Mapper<K1,V1,K2,V2> m)
Set the Mapper instance to use with this test driver |
|
void |
setReducer(org.apache.hadoop.mapreduce.Reducer<K2,V2,K3,V3> r)
Sets the reducer object to use for this test |
|
String |
toString()
|
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withConfiguration(org.apache.hadoop.conf.Configuration configuration)
|
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withCounters(org.apache.hadoop.mapreduce.Counters ctrs)
Sets the counters to use and returns self for fluent style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withInput(K1 key,
V1 val)
Identical to addInput() but returns self for fluent programming style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withInput(Pair<K1,V1> input)
Identical to addInput() but returns self for fluent programming style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withInputFromString(String input)
Identical to addInputFromString, but with a fluent programming style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withKeyGroupingComparator(org.apache.hadoop.io.RawComparator<K2> groupingComparator)
Identical to MapReduceDriverBase.setKeyGroupingComparator(RawComparator) , but with a
fluent programming style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withKeyOrderComparator(org.apache.hadoop.io.RawComparator<K2> orderComparator)
Identical to MapReduceDriverBase.setKeyOrderComparator(RawComparator) , but with a
fluent programming style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withMapper(org.apache.hadoop.mapreduce.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> |
withOutput(K3 key,
V3 val)
Functions like addOutput() but returns self for fluent programming style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withOutput(Pair<K3,V3> outputRecord)
Works like addOutput(), but returns self for fluent style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withOutputFromString(String output)
Identical to addOutputFromString, but with a fluent programming style |
|
MapReduceDriver<K1,V1,K2,V2,K3,V3> |
withReducer(org.apache.hadoop.mapreduce.Reducer<K2,V2,K3,V3> r)
Identical to setReducer(), but with fluent programming style |
Methods inherited from class org.apache.hadoop.mrunit.MapReduceDriverBase |
---|
addInput, addInput, addInputFromString, addOutput, addOutput, addOutputFromString, runTest, setKeyGroupingComparator, setKeyOrderComparator, shuffle |
Methods inherited from class org.apache.hadoop.mrunit.TestDriver |
---|
formatValueList, getConfiguration, getExpectedOutputs, parseCommaDelimitedList, parseTabbedPair, resetOutput, setConfiguration, validate |
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.mapreduce.Mapper<K1,V1,K2,V2> m, org.apache.hadoop.mapreduce.Reducer<K2,V2,K3,V3> r)
public MapReduceDriver()
Method Detail |
---|
public void setMapper(org.apache.hadoop.mapreduce.Mapper<K1,V1,K2,V2> m)
m
- the Mapper instance to usepublic MapReduceDriver<K1,V1,K2,V2,K3,V3> withMapper(org.apache.hadoop.mapreduce.Mapper<K1,V1,K2,V2> m)
public org.apache.hadoop.mapreduce.Mapper<K1,V1,K2,V2> getMapper()
public void setReducer(org.apache.hadoop.mapreduce.Reducer<K2,V2,K3,V3> r)
r
- The reducer object to usepublic MapReduceDriver<K1,V1,K2,V2,K3,V3> withReducer(org.apache.hadoop.mapreduce.Reducer<K2,V2,K3,V3> r)
r
- The Reducer to use
public org.apache.hadoop.mapreduce.Reducer<K2,V2,K3,V3> getReducer()
public org.apache.hadoop.mapreduce.Counters getCounters()
public void setCounters(org.apache.hadoop.mapreduce.Counters ctrs)
ctrs
- The counters object to use.public MapReduceDriver<K1,V1,K2,V2,K3,V3> withCounters(org.apache.hadoop.mapreduce.Counters ctrs)
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withInput(K1 key, V1 val)
key
- val
-
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withInput(Pair<K1,V1> input)
input
- The (k, v) pair to add
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withOutput(Pair<K3,V3> outputRecord)
outputRecord
-
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withOutput(K3 key, V3 val)
key
- val
-
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withInputFromString(String input)
input
- A string of the form "key \t val". Trims any whitespace.
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withOutputFromString(String output)
output
- A string of the form "key \t val". Trims any whitespace.
public List<Pair<K3,V3>> run() throws IOException
TestDriver
run
in class MapReduceDriverBase<K1,V1,K2 extends Comparable,V2,K3,V3>
IOException
public String toString()
toString
in class Object
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withConfiguration(org.apache.hadoop.conf.Configuration configuration)
configuration
- The configuration object that will given to the
mapper and reducer associated with the driver
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withKeyGroupingComparator(org.apache.hadoop.io.RawComparator<K2> groupingComparator)
MapReduceDriverBase.setKeyGroupingComparator(RawComparator)
, but with a
fluent programming style
groupingComparator
- Comparator to use in the shuffle stage for key
grouping
public MapReduceDriver<K1,V1,K2,V2,K3,V3> withKeyOrderComparator(org.apache.hadoop.io.RawComparator<K2> orderComparator)
MapReduceDriverBase.setKeyOrderComparator(RawComparator)
, but with a
fluent programming style
orderComparator
- Comparator to use in the shuffle stage for key
value ordering
public static <K1,V1,K2 extends Comparable,V2,K3,V3> MapReduceDriver<K1,V1,K2,V2,K3,V3> newMapReduceDriver()
mapper
- passed to MapReduceDriver constructorreducer
- passed to MapReduceDriver constructor
public static <K1,V1,K2 extends Comparable,V2,K3,V3> MapReduceDriver<K1,V1,K2,V2,K3,V3> newMapReduceDriver(org.apache.hadoop.mapreduce.Mapper<K1,V1,K2,V2> mapper, org.apache.hadoop.mapreduce.Reducer<K2,V2,K3,V3> reducer)
mapper
- passed to MapReduceDriver constructorreducer
- passed to MapReduceDriver constructor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |