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
RecordReader
s that read Avro container
files.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
protected DataFileReader
<T> createAvroFileReader
(SeekableInput input, DatumReader<T> datumReader) Creates an Avro container file reader from a seekable input stream.protected SeekableInput
createSeekableInput
(Configuration conf, Path path) Creates a seekable input stream to an Avro container file.protected T
Gets the current record read from the Avro container file.float
void
initialize
(InputSplit inputSplit, TaskAttemptContext context) boolean
Methods 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:
initialize
in classRecordReader<K,
V> - Throws:
IOException
InterruptedException
-
nextKeyValue
- Specified by:
nextKeyValue
in classRecordReader<K,
V> - Throws:
IOException
InterruptedException
-
getProgress
- Specified by:
getProgress
in classRecordReader<K,
V> - Throws:
IOException
InterruptedException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in 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.
-