/** {@inheritDoc} */ @Override public RecordReader<AvroKey<T>, NullWritable> createRecordReader( InputSplit split, TaskAttemptContext context) throws IOException, InterruptedException { Schema readerSchema = HiveOrderConfigs.getInputSplitSchema(context).getSchema(split, context); if (null == readerSchema) { LOG.warn("Reader schema was not set. Use AvroJob.setInputKeySchema() if desired."); LOG.info("Using a reader schema equal to the writer schema."); } return new AvroKeyRecordReader<T>(readerSchema); }
protected List<FileStatus> listStatus(JobContext job) throws IOException { HiveOrderInputFileFilter fileFilter = new HiveOrderInputFileFilter(job); List<FileStatus> result = new ArrayList<FileStatus>(); List<FileStatus> list = super.listStatus(job); for (FileStatus fileStatus : list) { if (fileFilter.accept(fileStatus.getPath())) { result.add(fileStatus); } } if (result.size() == 0) { throw new IOException("No input paths specified in job"); } HiveOrderConfigs.setCurrCamusMaxStamp(job, fileFilter.getMaxStamp()); return result; }