Example usage for org.apache.hadoop.mapreduce JobContext getCombinerClass

List of usage examples for org.apache.hadoop.mapreduce JobContext getCombinerClass

Introduction

In this page you can find the example usage for org.apache.hadoop.mapreduce JobContext getCombinerClass.

Prototype

public Class<? extends Reducer<?, ?, ?, ?>> getCombinerClass() throws ClassNotFoundException;

Source Link

Document

Get the combiner class for the job.

Usage

From source file:edu.uci.ics.hyracks.dataflow.hadoop.HadoopReducerOperatorDescriptor.java

License:Apache License

private Object createReducer() throws Exception {
    if (reducerClass != null) {
        return ReflectionUtils.newInstance(reducerClass, getJobConf());
    } else {/*  w  w  w.  j  a  v a2 s  .  c  o m*/
        Object reducer;
        if (!useAsCombiner) {
            if (getJobConf().getUseNewReducer()) {
                JobContext jobContext = new ContextFactory().createJobContext(getJobConf());
                reducerClass = (Class<? extends org.apache.hadoop.mapreduce.Reducer<?, ?, ?, ?>>) jobContext
                        .getReducerClass();
            } else {
                reducerClass = (Class<? extends Reducer>) getJobConf().getReducerClass();
            }
        } else {
            if (getJobConf().getUseNewReducer()) {
                JobContext jobContext = new ContextFactory().createJobContext(getJobConf());
                reducerClass = (Class<? extends org.apache.hadoop.mapreduce.Reducer<?, ?, ?, ?>>) jobContext
                        .getCombinerClass();
            } else {
                reducerClass = (Class<? extends Reducer>) getJobConf().getCombinerClass();
            }
        }
        reducer = getHadoopClassFactory().createReducer(reducerClass.getName(), getJobConf());
        return reducer;
    }
}