question: sets the reducer class to the chain job 's jobconf . it has to be specified how key and values are passed from one element of the chain to the next , by value or by reference . if a reducer leverages the assumed semantics that the key and values are not modified by the collector ` by value ' must be used . if the reducer does not expect this semantics , as an optimization to avoid serialization and deserialization ` by reference ' can be used . for the added reducer the configuration given for it , reducerconf , have precedence over the job 's jobconf . this precedence is in effect when the task is running . important : there is no need to specify the output key/value classes for the chainreducer , this is done by the setreducer or the addmapper for the last element in the chain . concode_field_sep Chain chain concode_field_sep void reduce concode_elem_sep void addMapper concode_elem_sep void configure concode_elem_sep void close
target: void function ( JobConf arg0 , Class < ? extends Reducer < K1 , V1 , K2 , V2 >> arg1 , Class < ? extends K1 > arg2 , Class < ? extends V1 > arg3 , Class < ? extends K2 > arg4 , Class < ? extends V2 > arg5 , boolean arg6 , JobConf arg7 ) { arg0 . setReducerClass ( ChainReducer . class ) ; arg0 . setOutputKeyClass ( arg4 ) ; arg0 . setOutputValueClass ( arg5 ) ; Chain . setReducer ( arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 ) ; }