Class BaseIteratorEnvironment
- java.lang.Object
-
- org.apache.accumulo.core.client.impl.BaseIteratorEnvironment
-
- All Implemented Interfaces:
IteratorEnvironment
public class BaseIteratorEnvironment extends Object implements IteratorEnvironment
An implementation ofIteratorEnvironment
that throwsUnsupportedOperationException
for each operation. This is useful for situations that need to extendIteratorEnvironment
and implement a subset of the methods.
-
-
Constructor Summary
Constructors Constructor Description BaseIteratorEnvironment()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IteratorEnvironment
cloneWithSamplingEnabled()
Returns a new iterator environment object that can be used to create deep copies over sample data.Authorizations
getAuthorizations()
AccumuloConfiguration
getConfig()
IteratorUtil.IteratorScope
getIteratorScope()
SamplerConfiguration
getSamplerConfiguration()
boolean
isFullMajorCompaction()
boolean
isSamplingEnabled()
There are at least two conditions under which sampling will be enabled for an environment.void
registerSideChannel(SortedKeyValueIterator<Key,Value> iter)
SortedKeyValueIterator<Key,Value>
reserveMapFileReader(String mapFileName)
-
-
-
Method Detail
-
reserveMapFileReader
public SortedKeyValueIterator<Key,Value> reserveMapFileReader(String mapFileName) throws IOException
- Specified by:
reserveMapFileReader
in interfaceIteratorEnvironment
- Throws:
IOException
-
getConfig
public AccumuloConfiguration getConfig()
- Specified by:
getConfig
in interfaceIteratorEnvironment
-
getIteratorScope
public IteratorUtil.IteratorScope getIteratorScope()
- Specified by:
getIteratorScope
in interfaceIteratorEnvironment
-
isFullMajorCompaction
public boolean isFullMajorCompaction()
- Specified by:
isFullMajorCompaction
in interfaceIteratorEnvironment
-
registerSideChannel
public void registerSideChannel(SortedKeyValueIterator<Key,Value> iter)
- Specified by:
registerSideChannel
in interfaceIteratorEnvironment
-
getAuthorizations
public Authorizations getAuthorizations()
- Specified by:
getAuthorizations
in interfaceIteratorEnvironment
-
isSamplingEnabled
public boolean isSamplingEnabled()
Description copied from interface:IteratorEnvironment
There are at least two conditions under which sampling will be enabled for an environment. One condition is when sampling is enabled for the scan that starts everything. Another possibility is for a deep copy created with an environment created by callingIteratorEnvironment.cloneWithSamplingEnabled()
- Specified by:
isSamplingEnabled
in interfaceIteratorEnvironment
- Returns:
- true if sampling is enabled for this environment.
-
getSamplerConfiguration
public SamplerConfiguration getSamplerConfiguration()
- Specified by:
getSamplerConfiguration
in interfaceIteratorEnvironment
- Returns:
- sampling configuration is sampling is enabled for environment, otherwise returns null.
-
cloneWithSamplingEnabled
public IteratorEnvironment cloneWithSamplingEnabled()
Description copied from interface:IteratorEnvironment
Returns a new iterator environment object that can be used to create deep copies over sample data. The new object created will use the current sampling configuration for the table. The existing iterator environment object will not be modified.Since sample data could be created in many different ways, a good practice for an iterator is to verify the sampling configuration is as expected.
class MyIter implements SortedKeyValueIterator<Key,Value> { SortedKeyValueIterator<Key,Value> source; SortedKeyValueIterator<Key,Value> sampleIter; @Override void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) { IteratorEnvironment sampleEnv = env.cloneWithSamplingEnabled(); //do some sanity checks on sampling config validateSamplingConfiguration(sampleEnv.getSamplerConfiguration()); sampleIter = source.deepCopy(sampleEnv); this.source = source; } }
- Specified by:
cloneWithSamplingEnabled
in interfaceIteratorEnvironment
-
-