Class WholeRowIterator
- java.lang.Object
-
- org.apache.accumulo.core.iterators.user.RowEncodingIterator
-
- org.apache.accumulo.core.iterators.user.WholeRowIterator
-
- All Implemented Interfaces:
OptionDescriber
,SortedKeyValueIterator<Key,Value>
- Direct Known Subclasses:
WholeRowIterator
public class WholeRowIterator extends RowEncodingIterator
The WholeRowIterator is designed to provide row-isolation so that queries see mutations as atomic. It does so by encapsulating an entire row of key/value pairs into a single key/value pair, which is returned through the client as an atomic operation.This iterator extends the
RowEncodingIterator
, providing implementations for rowEncoder and rowDecoder which serializes all column and value information from a given row into a single ByteStream in a value.As with the RowEncodingIterator, when seeking in the WholeRowIterator using a range that starts at a non-inclusive first key in a row, this iterator will skip to the next row.
To regain the original key/value pairs of the row, call the decodeRow function on the key/value pair that this iterator returned.
- See Also:
RowFilter
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.accumulo.core.iterators.OptionDescriber
OptionDescriber.IteratorOptions
-
-
Field Summary
-
Fields inherited from class org.apache.accumulo.core.iterators.user.RowEncodingIterator
MAX_BUFFER_SIZE_OPT, sourceIter
-
-
Constructor Summary
Constructors Constructor Description WholeRowIterator()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SortedMap<Key,Value>
decodeRow(Key rowKey, Value rowValue)
static Value
encodeRow(List<Key> keys, List<Value> values)
SortedMap<Key,Value>
rowDecoder(Key rowKey, Value rowValue)
Given a value generated by the rowEncoder implementation, recreate the original Key, Value pairs.Value
rowEncoder(List<Key> keys, List<Value> values)
Take a stream of keys and values.-
Methods inherited from class org.apache.accumulo.core.iterators.user.RowEncodingIterator
deepCopy, describeOptions, filter, getTopKey, getTopValue, hasTop, init, next, seek, validateOptions
-
-
-
-
Method Detail
-
rowDecoder
public SortedMap<Key,Value> rowDecoder(Key rowKey, Value rowValue) throws IOException
Description copied from class:RowEncodingIterator
Given a value generated by the rowEncoder implementation, recreate the original Key, Value pairs.- Specified by:
rowDecoder
in classRowEncodingIterator
- Throws:
IOException
-
rowEncoder
public Value rowEncoder(List<Key> keys, List<Value> values) throws IOException
Description copied from class:RowEncodingIterator
Take a stream of keys and values. Return values in the same order encoded such that all portions of the key (except for the row value) and the original value are encoded in some way.- Specified by:
rowEncoder
in classRowEncodingIterator
- Throws:
IOException
-
decodeRow
public static final SortedMap<Key,Value> decodeRow(Key rowKey, Value rowValue) throws IOException
- Throws:
IOException
-
encodeRow
public static final Value encodeRow(List<Key> keys, List<Value> values) throws IOException
- Throws:
IOException
-
-