Interface IteratorSettingFactory
-
- All Known Implementing Classes:
AbstractCoreKeyIteratorSettingsFactory
,ByteEntityIteratorSettingsFactory
,ClassicIteratorSettingsFactory
public interface IteratorSettingFactory
The iterator settings factory is designed to enable the AccumuloStore to easily set all iterators that will be commonly required by different implementations of the key. These methods may return null if the specified iterator is not required/desired for your particularAccumuloKeyPackage
implementation.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description org.apache.accumulo.core.client.IteratorSetting
getAggregatorIteratorSetting(AccumuloStore store)
Returns an Iterator that will aggregate values in the accumulo table, this iterator will be applied to the table on creationorg.apache.accumulo.core.client.IteratorSetting
getBloomFilterIteratorSetting(org.apache.hadoop.util.bloom.BloomFilter filter)
Returns anIteratorSetting
that can be used to apply an iterator that will filter elements based on their vertices membership in a givenBloomFilter
to aScanner
.org.apache.accumulo.core.client.IteratorSetting
getEdgeEntityDirectionFilterIteratorSetting(GraphFilters operation)
Returns an Iterator that will filter out Edges/Entities/Undirected/Directed Edges based on the options in the gaffer.accumulostore.operation May return null if this type of iterator is not required for example if Key are constructed to enable this filtering via the Accumulo Keyorg.apache.accumulo.core.client.IteratorSetting
getElementPostAggregationFilterIteratorSetting(View view, AccumuloStore store)
Returns anIteratorSetting
that can be used to apply an iterator that will filter elements based on predicates specified in the postAggregation block in the view to aScanner
.org.apache.accumulo.core.client.IteratorSetting
getElementPreAggregationFilterIteratorSetting(View view, AccumuloStore store)
Returns anIteratorSetting
that can be used to apply an iterator that will filter elements based on predicates specified in the preAggregation block in the view to aScanner
.org.apache.accumulo.core.client.IteratorSetting
getElementPropertyRangeQueryFilter(GraphFilters operation)
Returns an Iterator to be applied when doing range operations that will do any filtering of Element properties that may have otherwise been done elsewhere e.g via key creation.org.apache.accumulo.core.client.IteratorSetting
getIteratorSetting(AccumuloStore store, String iteratorName)
Returns the iterator settings for a given iterator name.org.apache.accumulo.core.client.IteratorSetting
getQueryTimeAggregatorIteratorSetting(View view, AccumuloStore store)
Returns an Iterator that will aggregate values at query time.org.apache.accumulo.core.client.IteratorSetting
getRowIDAggregatorIteratorSetting(AccumuloStore store, String columnFamily)
Returns an Iterator that will aggregate properties across a range of RowID's for a given columnFamilyorg.apache.accumulo.core.client.IteratorSetting
getValidatorIteratorSetting(AccumuloStore store)
Returns an Iterator that will validate elements in the accumulo table based on the validator provided in theSchema
this iterator will be applied to the table on creation
-
-
-
Method Detail
-
getBloomFilterIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getBloomFilterIteratorSetting(org.apache.hadoop.util.bloom.BloomFilter filter) throws IteratorSettingException
Returns anIteratorSetting
that can be used to apply an iterator that will filter elements based on their vertices membership in a givenBloomFilter
to aScanner
.- Parameters:
filter
- the bloom filter- Returns:
- A new
IteratorSetting
for an Iterator capable of filtering elements based on checking its serialised form for membership in aBloomFilter
- Throws:
IteratorSettingException
- if an iterator setting could not be created
-
getElementPreAggregationFilterIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getElementPreAggregationFilterIteratorSetting(View view, AccumuloStore store) throws IteratorSettingException
Returns anIteratorSetting
that can be used to apply an iterator that will filter elements based on predicates specified in the preAggregation block in the view to aScanner
.- Parameters:
view
- the operation viewstore
- the accumulo store- Returns:
- A new
IteratorSetting
for an Iterator capable of filteringElement
s based on aView
- Throws:
IteratorSettingException
- if an iterator setting could not be created
-
getElementPostAggregationFilterIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getElementPostAggregationFilterIteratorSetting(View view, AccumuloStore store) throws IteratorSettingException
Returns anIteratorSetting
that can be used to apply an iterator that will filter elements based on predicates specified in the postAggregation block in the view to aScanner
.- Parameters:
view
- the operation viewstore
- the accumulo store- Returns:
- A new
IteratorSetting
for an Iterator capable of filteringElement
s based on aView
- Throws:
IteratorSettingException
- if an iterator setting could not be created
-
getEdgeEntityDirectionFilterIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getEdgeEntityDirectionFilterIteratorSetting(GraphFilters operation)
Returns an Iterator that will filter out Edges/Entities/Undirected/Directed Edges based on the options in the gaffer.accumulostore.operation May return null if this type of iterator is not required for example if Key are constructed to enable this filtering via the Accumulo Key- Parameters:
operation
- the operation- Returns:
- A new
IteratorSetting
for an Iterator capable of filteringElement
s based on the options defined in the gaffer.accumulostore.operation
-
getAggregatorIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getAggregatorIteratorSetting(AccumuloStore store) throws IteratorSettingException
Returns an Iterator that will aggregate values in the accumulo table, this iterator will be applied to the table on creation- Parameters:
store
- the accumulo store- Returns:
- A new
IteratorSetting
for an Iterator that will aggregate elements where they have the same key based on theSchema
- Throws:
IteratorSettingException
- if an iterator setting could not be created
-
getValidatorIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getValidatorIteratorSetting(AccumuloStore store)
Returns an Iterator that will validate elements in the accumulo table based on the validator provided in theSchema
this iterator will be applied to the table on creation- Parameters:
store
- the accumulo store- Returns:
- A new
IteratorSetting
for an Iterator that will validate elements
-
getQueryTimeAggregatorIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getQueryTimeAggregatorIteratorSetting(View view, AccumuloStore store) throws IteratorSettingException
Returns an Iterator that will aggregate values at query time. This is to be used for the summarise option on getElement queries.- Parameters:
view
- the operation viewstore
- the accumulo store- Returns:
- A new
IteratorSetting
for an Iterator that will aggregate elements at query time on theSchema
- Throws:
IteratorSettingException
- if an iterator setting could not be created
-
getRowIDAggregatorIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getRowIDAggregatorIteratorSetting(AccumuloStore store, String columnFamily) throws IteratorSettingException
Returns an Iterator that will aggregate properties across a range of RowID's for a given columnFamily- Parameters:
store
- the accumulo storecolumnFamily
- the columnFamily that will be summarised- Returns:
- A new
IteratorSetting
for an Iterator that will aggregate elements at query time on theSchema
- Throws:
IteratorSettingException
- if an iterator setting could not be created
-
getElementPropertyRangeQueryFilter
org.apache.accumulo.core.client.IteratorSetting getElementPropertyRangeQueryFilter(GraphFilters operation)
Returns an Iterator to be applied when doing range operations that will do any filtering of Element properties that may have otherwise been done elsewhere e.g via key creation. Examples of things that may not work correctly on Range operations without this iterator are Edge/Entity/Undirected/Directed Edge filtering This method May return null if this type of iterator is not required for example if all needed filtering is applied elsewhere.- Parameters:
operation
- the operation to get the IteratorSetting for- Returns:
- A new
IteratorSetting
for an Iterator capable of filteringElement
s based on the options defined in the gaffer.accumulostore.operation
-
getIteratorSetting
org.apache.accumulo.core.client.IteratorSetting getIteratorSetting(AccumuloStore store, String iteratorName) throws IteratorSettingException
Returns the iterator settings for a given iterator name. Allowed iterator names are: Aggregator, Validator and Bloom_Filter.- Parameters:
store
- the accumulo storeiteratorName
- the name of the iterator to return the settings for- Returns:
- the iterator settings for a given iterator name.
- Throws:
IteratorSettingException
- if an iterator setting could not be created
-
-