Reputation: 33243
I have been searching in mrunit documentation but hasnt been able to find it so far.. How do i pass configuration parameters in my mrunit.
So for example, if i take the wordcount example.
Lets say, in my driver code I am setting this parameter...
conf.set("delimiter",args[2])
And in my mapper code I am calling this as:
String delimiter = conf.get("delimiter");
String [] tokens = value.toString().split(delimiter);
for (String token:tokens)
context.write(token,one);
How do I set up this configuration parameter.
I have been looking into this example: https://github.com/wpm/Hadoop-Word-Count/blob/master/src/test/java/wpmcn/hadoop/WordCountTest.java
Thanks
Upvotes: 1
Views: 789
Reputation: 5538
I had similar problem and I solved it as given in below code.
mapDriver.withInput(key, value);
mapDriver.getConfiguration().set("my.config.param", "my.config.param.value");
.....
.....
mapDriver.run();
Please note that mapDriver.getContext().getConfiguration may not work in this case, because the context object is a mocked object in the API.
Upvotes: 1
Reputation: 32959
Use MapDriver.withConfiguration
Configuration conf = new Configuration();
conf.set("delimiter", someValue);
myMapDriver.withConfiguration(conf);
Upvotes: 2