Package org.apache.accumulo.core.client
Class IsolatedScanner
- java.lang.Object
-
- org.apache.accumulo.core.client.impl.ScannerOptions
-
- org.apache.accumulo.core.client.IsolatedScanner
-
- All Implemented Interfaces:
AutoCloseable,Iterable<Map.Entry<Key,Value>>,Scanner,ScannerBase
public class IsolatedScanner extends ScannerOptions implements Scanner
A scanner that presents a row isolated view of an accumulo table. Rows are buffered in memory on the client side. If you think your rows may not fit into memory, then you can provide an alternative row buffer factory to the constructor. This would allow rows to be buffered to disk for example.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classIsolatedScanner.MemoryRowBufferstatic classIsolatedScanner.MemoryRowBufferFactorystatic interfaceIsolatedScanner.RowBufferstatic interfaceIsolatedScanner.RowBufferFactory
-
Field Summary
-
Fields inherited from class org.apache.accumulo.core.client.impl.ScannerOptions
batchTimeOut, classLoaderContext, fetchedColumns, serverSideIteratorList, serverSideIteratorOptions, timeOut
-
-
Constructor Summary
Constructors Constructor Description IsolatedScanner(Scanner scanner)IsolatedScanner(Scanner scanner, IsolatedScanner.RowBufferFactory bufferFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voiddisableIsolation()Disables row isolation.voidenableIsolation()Enables row isolation.intgetBatchSize()Returns the batch size (number of Key/Value pairs) that will be fetched at a time from a tablet server.RangegetRange()Returns the range of keys to scan over.longgetReadaheadThreshold()The number of batches of Key/Value pairs returned before theScannerwill begin to prefetch the next batchintgetTimeOut()Deprecated.Iterator<Map.Entry<Key,Value>>iterator()Returns an iterator over an accumulo table.voidsetBatchSize(int size)Sets the number of Key/Value pairs that will be fetched at a time from a tablet server.voidsetRange(Range range)Sets the range of keys to scan over.voidsetReadaheadThreshold(long batches)Sets the number of batches of Key/Value pairs returned before theScannerwill begin to prefetch the next batchvoidsetTimeOut(int timeOut)Deprecated.-
Methods inherited from class org.apache.accumulo.core.client.impl.ScannerOptions
addScanIterator, clearClassLoaderContext, clearColumns, clearSamplerConfiguration, clearScanIterators, close, fetchColumn, fetchColumn, fetchColumnFamily, getAuthorizations, getBatchTimeout, getClassLoaderContext, getFetchedColumns, getSamplerConfiguration, getTimeout, removeScanIterator, setBatchTimeout, setClassLoaderContext, setOptions, setSamplerConfiguration, setTimeout, updateScanIteratorOption
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface org.apache.accumulo.core.client.ScannerBase
addScanIterator, clearClassLoaderContext, clearColumns, clearSamplerConfiguration, clearScanIterators, close, fetchColumn, fetchColumn, fetchColumnFamily, getAuthorizations, getBatchTimeout, getClassLoaderContext, getSamplerConfiguration, getTimeout, removeScanIterator, setBatchTimeout, setClassLoaderContext, setSamplerConfiguration, setTimeout, updateScanIteratorOption
-
-
-
-
Constructor Detail
-
IsolatedScanner
public IsolatedScanner(Scanner scanner)
-
IsolatedScanner
public IsolatedScanner(Scanner scanner, IsolatedScanner.RowBufferFactory bufferFactory)
-
-
Method Detail
-
iterator
public Iterator<Map.Entry<Key,Value>> iterator()
Description copied from interface:ScannerBaseReturns an iterator over an accumulo table. This iterator uses the options that are currently set for its lifetime, so setting options will have no effect on existing iterators.Keys returned by the iterator are not guaranteed to be in sorted order.
- Specified by:
iteratorin interfaceIterable<Map.Entry<Key,Value>>- Specified by:
iteratorin interfaceScannerBase- Overrides:
iteratorin classScannerOptions- Returns:
- an iterator over Key,Value pairs which meet the restrictions set on the scanner
-
setTimeOut
@Deprecated public void setTimeOut(int timeOut)
Deprecated.Description copied from interface:ScannerThis setting determines how long a scanner will automatically retry when a failure occurs. By default a scanner will retry forever.- Specified by:
setTimeOutin interfaceScanner- Parameters:
timeOut- in seconds
-
getTimeOut
@Deprecated public int getTimeOut()
Deprecated.Description copied from interface:ScannerReturns the setting for how long a scanner will automatically retry when a failure occurs.- Specified by:
getTimeOutin interfaceScanner- Returns:
- the timeout configured for this scanner
-
setRange
public void setRange(Range range)
Description copied from interface:ScannerSets the range of keys to scan over.
-
getRange
public Range getRange()
Description copied from interface:ScannerReturns the range of keys to scan over.
-
setBatchSize
public void setBatchSize(int size)
Description copied from interface:ScannerSets the number of Key/Value pairs that will be fetched at a time from a tablet server.- Specified by:
setBatchSizein interfaceScanner- Parameters:
size- the number of Key/Value pairs to fetch per call to Accumulo
-
getBatchSize
public int getBatchSize()
Description copied from interface:ScannerReturns the batch size (number of Key/Value pairs) that will be fetched at a time from a tablet server.- Specified by:
getBatchSizein interfaceScanner- Returns:
- the batch size configured for this scanner
-
enableIsolation
public void enableIsolation()
Description copied from interface:ScannerEnables row isolation. Writes that occur to a row after a scan of that row has begun will not be seen if this option is enabled.- Specified by:
enableIsolationin interfaceScanner
-
disableIsolation
public void disableIsolation()
Description copied from interface:ScannerDisables row isolation. Writes that occur to a row after a scan of that row has begun may be seen if this option is enabled.- Specified by:
disableIsolationin interfaceScanner
-
getReadaheadThreshold
public long getReadaheadThreshold()
Description copied from interface:ScannerThe number of batches of Key/Value pairs returned before theScannerwill begin to prefetch the next batch- Specified by:
getReadaheadThresholdin interfaceScanner- Returns:
- Number of batches before read-ahead begins
-
setReadaheadThreshold
public void setReadaheadThreshold(long batches)
Description copied from interface:ScannerSets the number of batches of Key/Value pairs returned before theScannerwill begin to prefetch the next batch- Specified by:
setReadaheadThresholdin interfaceScanner- Parameters:
batches- Non-negative number of batches
-
-