Interface IteratorSettingFactory
-
- All Known Implementing Classes:
AbstractCoreKeyIteratorSettingsFactory,ByteEntityIteratorSettingsFactory,ClassicIteratorSettingsFactory
public interface IteratorSettingFactoryThe 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 particularAccumuloKeyPackageimplementation.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description org.apache.accumulo.core.client.IteratorSettinggetAggregatorIteratorSetting(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.IteratorSettinggetBloomFilterIteratorSetting(org.apache.hadoop.util.bloom.BloomFilter filter)Returns anIteratorSettingthat can be used to apply an iterator that will filter elements based on their vertices membership in a givenBloomFilterto aScanner.org.apache.accumulo.core.client.IteratorSettinggetEdgeEntityDirectionFilterIteratorSetting(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.IteratorSettinggetElementPostAggregationFilterIteratorSetting(View view, AccumuloStore store)Returns anIteratorSettingthat 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.IteratorSettinggetElementPreAggregationFilterIteratorSetting(View view, AccumuloStore store)Returns anIteratorSettingthat 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.IteratorSettinggetElementPropertyRangeQueryFilter(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.IteratorSettinggetIteratorSetting(AccumuloStore store, String iteratorName)Returns the iterator settings for a given iterator name.org.apache.accumulo.core.client.IteratorSettinggetQueryTimeAggregatorIteratorSetting(View view, AccumuloStore store)Returns an Iterator that will aggregate values at query time.org.apache.accumulo.core.client.IteratorSettinggetRowIDAggregatorIteratorSetting(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.IteratorSettinggetValidatorIteratorSetting(AccumuloStore store)Returns an Iterator that will validate elements in the accumulo table based on the validator provided in theSchemathis 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 IteratorSettingExceptionReturns anIteratorSettingthat can be used to apply an iterator that will filter elements based on their vertices membership in a givenBloomFilterto aScanner.- Parameters:
filter- the bloom filter- Returns:
- A new
IteratorSettingfor 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 anIteratorSettingthat 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
IteratorSettingfor an Iterator capable of filteringElements 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 anIteratorSettingthat 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
IteratorSettingfor an Iterator capable of filteringElements 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
IteratorSettingfor an Iterator capable of filteringElements 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
IteratorSettingfor 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 theSchemathis iterator will be applied to the table on creation- Parameters:
store- the accumulo store- Returns:
- A new
IteratorSettingfor 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
IteratorSettingfor 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
IteratorSettingfor 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
IteratorSettingfor an Iterator capable of filteringElements 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
-
-