public RecordReaderWrapper(
InputSplit oldSplit, JobConf oldJobConf, Reporter reporter)
throws IOException {
splitLen = oldSplit.getLength();
try {
realReader = new ParquetRecordReader<V>(
ParquetInputFormat.<V>getReadSupportInstance(oldJobConf),
ParquetInputFormat.getFilter(oldJobConf));
if (oldSplit instanceof ParquetInputSplitWrapper) {
realReader.initialize(((ParquetInputSplitWrapper) oldSplit).realSplit, oldJobConf, reporter);
} else if (oldSplit instanceof FileSplit) {
realReader.initialize((FileSplit) oldSplit, oldJobConf, reporter);
} else {
throw new IllegalArgumentException(
"Invalid split (not a FileSplit or ParquetInputSplitWrapper): " + oldSplit);
}
if (realReader.nextKeyValue()) {
firstRecord = true;
valueContainer = new Container<V>();
valueContainer.set(realReader.getCurrentValue());
} else {
eof = true;
}
} catch (InterruptedException e) {
Thread.interrupted();
throw new IOException(e);
}
}