Package org.apache.avro.mapreduce
Class AvroRecordReaderBase<K,V,T>
java.lang.Object
org.apache.hadoop.mapreduce.RecordReader<K,V>
org.apache.avro.mapreduce.AvroRecordReaderBase<K,V,T>
- Type Parameters:
K- The type of key the record reader should generate.V- The type of value the record reader should generate.T- The type of the entries within the Avro container file being read.
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
AvroKeyRecordReader,AvroKeyValueRecordReader
Abstract base class for
RecordReaders that read Avro container
files.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()protected DataFileReader<T> createAvroFileReader(SeekableInput input, DatumReader<T> datumReader) Creates an Avro container file reader from a seekable input stream.protected SeekableInputcreateSeekableInput(Configuration conf, Path path) Creates a seekable input stream to an Avro container file.protected TGets the current record read from the Avro container file.floatvoidinitialize(InputSplit inputSplit, TaskAttemptContext context) booleanMethods inherited from class org.apache.hadoop.mapreduce.RecordReader
getCurrentKey, getCurrentValue
-
Constructor Details
-
AvroRecordReaderBase
Constructor.- Parameters:
readerSchema- The reader schema for the records of the Avro container file.
-
-
Method Details
-
initialize
public void initialize(InputSplit inputSplit, TaskAttemptContext context) throws IOException, InterruptedException - Specified by:
initializein classRecordReader<K,V> - Throws:
IOExceptionInterruptedException
-
nextKeyValue
- Specified by:
nextKeyValuein classRecordReader<K,V> - Throws:
IOExceptionInterruptedException
-
getProgress
- Specified by:
getProgressin classRecordReader<K,V> - Throws:
IOExceptionInterruptedException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classRecordReader<K,V> - Throws:
IOException
-
getCurrentRecord
Gets the current record read from the Avro container file.Calling
nextKeyValue()moves this to the next record.- Returns:
- The current Avro record (may be null if no record has been read).
-
createSeekableInput
Creates a seekable input stream to an Avro container file.- Parameters:
conf- The hadoop configuration.path- The path to the avro container file.- Throws:
IOException- If there is an error reading from the path.
-
createAvroFileReader
protected DataFileReader<T> createAvroFileReader(SeekableInput input, DatumReader<T> datumReader) throws IOException Creates an Avro container file reader from a seekable input stream.- Parameters:
input- The input containing the Avro container file.datumReader- The reader to use for the individual records in the Avro container file.- Throws:
IOException- If there is an error reading from the input stream.
-