|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.accumulo.core.iterators.WrappingIterator org.apache.accumulo.core.iterators.Combiner org.apache.accumulo.core.iterators.TypedValueCombiner<V>
public abstract class TypedValueCombiner<V>
A Combiner that decodes each Value to type V before reducing, then encodes the result of typedReduce back to Value.
Subclasses must implement a typedReduce method: public V typedReduce(Key key, Iterator<V> iter);
This typedReduce method will be passed the most recent Key and an iterator over the Values (translated to Vs) for all non-deleted versions of that Key.
Subclasses may implement a switch on the "type" variable to choose an Encoder in their init method.
Nested Class Summary | |
---|---|
static interface |
TypedValueCombiner.Encoder<V>
An interface for translating from byte[] to V and back. |
Nested classes/interfaces inherited from class org.apache.accumulo.core.iterators.Combiner |
---|
Combiner.ValueIterator |
Nested classes/interfaces inherited from interface org.apache.accumulo.core.iterators.OptionDescriber |
---|
OptionDescriber.IteratorOptions |
Field Summary | |
---|---|
protected static String |
LOSSY
|
Fields inherited from class org.apache.accumulo.core.iterators.Combiner |
---|
ALL_OPTION, COLUMNS_OPTION |
Constructor Summary | |
---|---|
TypedValueCombiner()
|
Method Summary | ||
---|---|---|
SortedKeyValueIterator<Key,Value> |
deepCopy(IteratorEnvironment env)
Creates a deep copy of this iterator as though seek had not yet been called. |
|
OptionDescriber.IteratorOptions |
describeOptions()
Gets an iterator options object that contains information needed to configure this iterator. |
|
void |
init(SortedKeyValueIterator<Key,Value> source,
Map<String,String> options,
IteratorEnvironment env)
Initializes the iterator. |
|
Value |
reduce(Key key,
Iterator<Value> iter)
Reduces a list of Values into a single Value. |
|
protected void |
setEncoder(String encoderClass)
Instantiates and sets the Encoder<V> used to translate Values to V and back. |
|
protected void |
setEncoder(TypedValueCombiner.Encoder<V> encoder)
Sets the Encoder<V> used to translate Values to V and back. |
|
static void |
setLossyness(IteratorSetting is,
boolean lossy)
A convenience method to set the "lossy" option on a TypedValueCombiner. |
|
static
|
testEncoder(TypedValueCombiner.Encoder<V> encoder,
V v)
Tests whether v remains the same when encoded and decoded with the given encoder. |
|
protected void |
testEncoder(V v)
Tests whether v remains the same when encoded and decoded with the current encoder. |
|
abstract V |
typedReduce(Key key,
Iterator<V> iter)
Reduces a list of V into a single V. |
|
boolean |
validateOptions(Map<String,String> options)
Check to see if an options map contains all options required by an iterator and that the option values are in the expected formats. |
Methods inherited from class org.apache.accumulo.core.iterators.Combiner |
---|
getTopKey, getTopValue, hasTop, next, seek, setColumns, setCombineAllColumns |
Methods inherited from class org.apache.accumulo.core.iterators.WrappingIterator |
---|
getSource, setSource |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final String LOSSY
Constructor Detail |
---|
public TypedValueCombiner()
Method Detail |
---|
protected void setEncoder(TypedValueCombiner.Encoder<V> encoder)
Encoder<V>
used to translate Values to V and back.
protected void setEncoder(String encoderClass)
Encoder<V>
used to translate Values to V and back.
IllegalArgumentException
- if ClassNotFoundException, InstantiationException, or IllegalAccessException occursprotected void testEncoder(V v)
IllegalStateException
- if an encoder has not been set.
IllegalArgumentException
- if the test fails.public static <V> void testEncoder(TypedValueCombiner.Encoder<V> encoder, V v)
IllegalArgumentException
- if the test fails.public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env)
SortedKeyValueIterator
deepCopy
in interface SortedKeyValueIterator<Key,Value>
deepCopy
in class Combiner
env
- IteratorEnvironment environment in which iterator is being run.
public Value reduce(Key key, Iterator<Value> iter)
Combiner
reduce
in class Combiner
key
- The most recent version of the Key being reduced.iter
- An iterator over the Values for different versions of the key.
public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException
SortedKeyValueIterator
init
in interface SortedKeyValueIterator<Key,Value>
init
in class Combiner
source
- SortedKeyValueIterator source to read data from.options
- Map map of string option names to option values.env
- IteratorEnvironment environment in which iterator is being run.
IOException
- unused.public OptionDescriber.IteratorOptions describeOptions()
OptionDescriber
describeOptions
in interface OptionDescriber
describeOptions
in class Combiner
public boolean validateOptions(Map<String,String> options)
OptionDescriber
validateOptions
in interface OptionDescriber
validateOptions
in class Combiner
options
- a map of option names to option values
public static void setLossyness(IteratorSetting is, boolean lossy)
is
- iterator settings object to configurelossy
- if true the combiner will ignored values which fail to decode; otherwise error.public abstract V typedReduce(Key key, Iterator<V> iter)
key
- The most recent version of the Key being reduced.iter
- An iterator over the V for different versions of the key.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |