Class AbstractInputFormat.AbstractRecordReader<K,V>
- java.lang.Object
-
- org.apache.hadoop.mapreduce.RecordReader<K,V>
-
- org.apache.accumulo.core.client.mapreduce.AbstractInputFormat.AbstractRecordReader<K,V>
-
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
InputFormatBase.RecordReaderBase
- Enclosing class:
- AbstractInputFormat<K,V>
protected abstract static class AbstractInputFormat.AbstractRecordReader<K,V> extends org.apache.hadoop.mapreduce.RecordReader<K,V>An abstract base class to be used to createRecordReaderinstances that convert from AccumuloKey/Valuepairs to the user's K/V types. Subclasses must implementRecordReader.nextKeyValue()and use it to update the following variables:- K
currentK - V
currentV - Key
currentKey(used for progress reporting) - int
numKeysRead(used for progress reporting)
-
-
Field Summary
Fields Modifier and Type Field Description protected KcurrentKThe Key that should be returned to the clientprotected KeycurrentKeyThe Key that is used to determine progress in the current InputSplit.protected VcurrentVThe Value that should be return to the clientprotected longnumKeysReadprotected ScannerBasescannerBaseprotected Iterator<Map.Entry<Key,Value>>scannerIteratorprotected RangeInputSplitsplit
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractRecordReader()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclose()protected abstract List<IteratorSetting>contextIterators(org.apache.hadoop.mapreduce.TaskAttemptContext context, String tableName)Extracts Iterators settings from the context to be used by RecordReader.KgetCurrentKey()VgetCurrentValue()floatgetProgress()voidinitialize(org.apache.hadoop.mapreduce.InputSplit inSplit, org.apache.hadoop.mapreduce.TaskAttemptContext attempt)protected voidsetupIterators(org.apache.hadoop.mapreduce.TaskAttemptContext context, Scanner scanner, String tableName, RangeInputSplit split)Deprecated.since 1.7.0; UsecontextIterators(org.apache.hadoop.mapreduce.TaskAttemptContext, java.lang.String)instead.
-
-
-
Field Detail
-
numKeysRead
protected long numKeysRead
-
scannerBase
protected ScannerBase scannerBase
-
split
protected RangeInputSplit split
-
currentK
protected K currentK
The Key that should be returned to the client
-
currentV
protected V currentV
The Value that should be return to the client
-
currentKey
protected Key currentKey
The Key that is used to determine progress in the current InputSplit. It is not returned to the client and is only used internally
-
-
Method Detail
-
contextIterators
protected abstract List<IteratorSetting> contextIterators(org.apache.hadoop.mapreduce.TaskAttemptContext context, String tableName)
Extracts Iterators settings from the context to be used by RecordReader.- Parameters:
context- the Hadoop context for the configured jobtableName- the table name for which the scanner is configured- Returns:
- List of iterator settings for given table
- Since:
- 1.7.0
-
setupIterators
@Deprecated protected void setupIterators(org.apache.hadoop.mapreduce.TaskAttemptContext context, Scanner scanner, String tableName, RangeInputSplit split)
Deprecated.since 1.7.0; UsecontextIterators(org.apache.hadoop.mapreduce.TaskAttemptContext, java.lang.String)instead.Configures the iterators on a scanner for the given table name.- Parameters:
context- the Hadoop context for the configured jobscanner- the scanner for which to configure the iteratorstableName- the table name for which the scanner is configured- Since:
- 1.6.0
-
initialize
public void initialize(org.apache.hadoop.mapreduce.InputSplit inSplit, org.apache.hadoop.mapreduce.TaskAttemptContext attempt) throws IOException- Specified by:
initializein classorg.apache.hadoop.mapreduce.RecordReader<K,V>- Throws:
IOException
-
close
public void close()
-
getProgress
public float getProgress() throws IOException- Specified by:
getProgressin classorg.apache.hadoop.mapreduce.RecordReader<K,V>- Throws:
IOException
-
getCurrentKey
public K getCurrentKey() throws IOException, InterruptedException
- Specified by:
getCurrentKeyin classorg.apache.hadoop.mapreduce.RecordReader<K,V>- Throws:
IOExceptionInterruptedException
-
getCurrentValue
public V getCurrentValue() throws IOException, InterruptedException
- Specified by:
getCurrentValuein classorg.apache.hadoop.mapreduce.RecordReader<K,V>- Throws:
IOExceptionInterruptedException
-
-