blob: 635af908924d17072a8adb033c563584e7b80beb [file] [log] [blame]
package org.apache.tez.mapreduce.hadoop.mapred;
import org.apache.hadoop.mapred.Counters.Counter;
import org.apache.hadoop.mapred.InputSplit;
import org.apache.hadoop.mapred.Reporter;
import org.apache.tez.mapreduce.common.Utils;
import org.apache.tez.runtime.api.TezProcessorContext;
import org.apache.tez.runtime.api.TezTaskContext;
public class MRReporter implements Reporter {
private TezTaskContext tezTaskContext;
private InputSplit split;
private boolean isProcessorContext = false;
public MRReporter(TezProcessorContext tezProcContext) {
this(tezProcContext, null);
isProcessorContext = true;
}
public MRReporter(TezTaskContext tezTaskContext) {
this(tezTaskContext, null);
}
public MRReporter(TezTaskContext tezTaskContext, InputSplit split) {
this.tezTaskContext = tezTaskContext;
this.split = split;
}
@Override
public void progress() {
//TODO NEWTEZ
}
@Override
public void setStatus(String status) {
// Not setting status string in Tez.
}
@Override
public Counter getCounter(Enum<?> name) {
return Utils.getMRCounter(tezTaskContext.getCounters().findCounter(name));
}
@Override
public Counter getCounter(String group, String name) {
return Utils.getMRCounter(tezTaskContext.getCounters().findCounter(group,
name));
}
@Override
public void incrCounter(Enum<?> key, long amount) {
getCounter(key).increment(amount);
}
@Override
public void incrCounter(String group, String counter, long amount) {
getCounter(group, counter).increment(amount);
}
@Override
public InputSplit getInputSplit() throws UnsupportedOperationException {
if (split == null) {
throw new UnsupportedOperationException("Input only available on map");
} else {
return split;
}
}
@Override
public float getProgress() {
// TOOD NEWTEZ Does this make a difference to anything ?
return 0.0f;
}
}