package com.twitter.elephantbird.mapreduce.input;
import org.apache.hadoop.hive.ql.io.RCFileInputFormat;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.mapreduce.InputSplit;
import org.apache.hadoop.mapreduce.RecordReader;
import org.apache.hadoop.mapreduce.TaskAttemptContext;
import java.io.IOException;
/**
* Base input format for Thrift and Protobuf RCFile input formats. <br>
* contains a few common common utility methods.
*/
public abstract class RCFileBaseInputFormat extends MapReduceInputFormatWrapper<LongWritable, Writable> {
/** internal, for MR use only. */
@SuppressWarnings({ "unchecked", "rawtypes" })
public RCFileBaseInputFormat() {
super(new RCFileInputFormat());
}
/**
* returns super.createRecordReader(split, taskAttempt). This is useful when
* a sub class has its own their own wrapper over the base recordreader.
*/
protected final RecordReader<LongWritable, Writable>
createUnwrappedRecordReader(InputSplit split, TaskAttemptContext taskAttempt)
throws IOException, InterruptedException {
return super.createRecordReader(split, taskAttempt);
}
}