CorcInputFormat implements InputFormat<NullWritable, Corc> { @Override public RecordReader<NullWritable, Corc> getRecordReader(InputSplit inputSplit, JobConf conf, Reporter reporter) throws IOException { StructTypeInfo typeInfo = getSchemaTypeInfo(conf); LOG.info("Conf StructTypeInfo: {}", typeInfo); if (typeInfo == null) { typeInfo = readStructTypeInfoFromSplit(inputSplit, conf); LOG.info("File StructTypeInfo: {}", typeInfo); } setReadColumns(conf, typeInfo); RecordReader<NullWritable, OrcStruct> reader = orcInputFormat.getRecordReader(inputSplit, conf, reporter); return new CorcRecordReader(typeInfo, reader, getConverterFactory(conf), getFilter(conf, typeInfo)); }  static void setConverterFactoryClass(Configuration conf,
      Class<? extends ConverterFactory> converterFactoryClass); static void setTypeInfo(Configuration conf, StructTypeInfo typeInfo); static void setSchemaTypeInfo(Configuration conf, StructTypeInfo schemaTypeInfo); static void setSearchArgument(Configuration conf, SearchArgument searchArgument); static void setSearchArgumentKryo(Configuration conf, String searchArgumentKryo); @Override InputSplit[] getSplits(JobConf conf, int numSplits); @Override RecordReader<NullWritable, Corc> getRecordReader(InputSplit inputSplit, JobConf conf, Reporter reporter); static String toKryo(SearchArgument sarg); static final String ENABLE_ROW_LEVEL_SEARCH_ARGUMENT; }
@Test(expected = IOException.class) public void notAFileSplit() throws IOException { InputSplit split = mock(InputSplit.class); inputFormat.getRecordReader(split, conf, reporter); }