[ 
https://issues.apache.org/jira/browse/MAPREDUCE-2002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13229960#comment-13229960
 ] 

Jim Donofrio commented on MAPREDUCE-2002:
-----------------------------------------

This should be closed as a dupe, MRUNIT already does this from MAPREDUCE-1569 
as Aaron said. MRUNIT-86 also just added the withConfiguration to the 4 mapred 
classes: MapDriver, ReduceDriver, MapReduceDriver, PipelineMapReduceDriver as 
well as fixing the conf to get pushed down to the individual mapper/reducer in 
MapReduceDriver or the MapReduceDriver's in PipelineMapReduceDriver
                
> MRUnit driver classes should provide ability to set a configuration object to 
> be passed into the mapper/reducer
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-2002
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2002
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: contrib/mrunit
>    Affects Versions: 0.20.2
>            Reporter: David Rosenstrauch
>            Priority: Minor
>
> Short description:
> Enhance the org.apache.hadoop.mrunit.mapreduce.MapDriver, ReduceDriver, and 
> MapReduceDriver unit test driver classes to contain "setConfiguration" and 
> "withConfiguration" methods for passing in user-supplied 
> org.apache.hadoop.conf.Configuration objects, and have those configuration 
> objects eventually get passed on to the Context objects that are passed in to 
> the mapper/reducer "setup" methods.  (Rather than passing in an empty 
> Configuration object, as is being done now.)
> Long description:
> The MRUnit driver classes (i.e., MapDriver, ReduceDriver, and 
> MapReduceDriver) ought to be enhanced to contain methods for setting a 
> Configuration object to be used by the mapper/reducer being tested - i.e., 
> setConfiguration() and withConfiguration().
> The only way to effectively pass parameters into a mapper or reducer is by 
> setting properties on a configuration object, which the mapper/reducer can 
> then retrieve in their "setup" step, and use to customize its operation.  As 
> a result, specific mappers/reducers may require the presence of specific 
> configuration properties/parameters in order to function correctly (or at 
> all).  (I am currently coding such a reducer right now.)
> Testing such a mapper/reducer thus requires that the unit testing framework 
> used provide the ability to pass in user-supplied Configuration objects to 
> them so that they can be tested with appropriate parameter values.  However, 
> MRUnit currently does not provide this ability.  (All mappers/reducers are 
> always passed an empty configuration object.)  And there is not even 
> currently any (easy) way for the end-user to fix this problem by creating a 
> simple sub-class that supplies this functionality, as such subclasses would 
> require a substantial reimplementation/override of several MRUnit framework 
> classes.
> I believe this something that is not too difficult to fix in the MRUnit 
> framework code, however, and would greatly help the usability of MRUnit.
> Although I don't have time to code this enhancement right now, if 
> needed/preferred I could squeeze out some time to code up a patch for this.  
> If that's needed, please let me know.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to