Class SampleElementsForSplitPoints<T>
- java.lang.Object
-
- uk.gov.gchq.gaffer.operation.impl.SampleElementsForSplitPoints<T>
-
- Type Parameters:
T- the type of splits
- All Implemented Interfaces:
Closeable,AutoCloseable,Input<Iterable<? extends Element>>,InputOutput<Iterable<? extends Element>,List<T>>,MultiInput<Element>,Output<List<T>>,Operation
public class SampleElementsForSplitPoints<T> extends Object implements Operation, InputOutput<Iterable<? extends Element>,List<T>>, MultiInput<Element>
The
SampleElementsForSplitPointsoperation is for sampling anIterableofElements and generating split points. The operation returns aListof the split points. The split points are normally UTF strings but this may differ for different Stores.By default, all elements in the iterable will used to generate splits. If you wish to only sample the iterable you can set the proportionToSample field to a value between 0 and 1.
You can manually set the number of splits using the numSplits field. If you don't set it then the Gaffer Store should calculate a number of splits for you.
If you want to only use the first few elements in the iterable then you can chain this operation after a
LimitOperation.Depending on the Store you run this operation against there may be a limit to the number of elements you are allowed to include in the sample.
- See Also:
SampleElementsForSplitPoints.Builder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSampleElementsForSplitPoints.Builder<T>-
Nested classes/interfaces inherited from interface uk.gov.gchq.gaffer.operation.Operation
Operation.BaseBuilder<OP extends Operation,B extends Operation.BaseBuilder<OP,?>>
-
-
Constructor Summary
Constructors Constructor Description SampleElementsForSplitPoints()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Iterable<? extends Element>getInput()IntegergetNumSplits()Map<String,String>getOptions()com.fasterxml.jackson.core.type.TypeReference<List<T>>getOutputTypeReference()floatgetProportionToSample()voidsetInput(Iterable<? extends Element> input)voidsetNumSplits(Integer numSplits)voidsetOptions(Map<String,String> options)voidsetProportionToSample(float proportionToSample)SampleElementsForSplitPoints<T>shallowClone()Operation implementations should ensure a ShallowClone method is implemented.uk.gov.gchq.koryphe.ValidationResultvalidate()Validates an operation.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface uk.gov.gchq.gaffer.operation.io.MultiInput
createInputArray, setInput
-
Methods inherited from interface uk.gov.gchq.gaffer.operation.Operation
_getNullOrOptions, addOption, containsOption, getOption, getOption, validateRequiredFieldPresent
-
Methods inherited from interface uk.gov.gchq.gaffer.operation.io.Output
castToOutputType, getOutputClass, getOutputType
-
-
-
-
Method Detail
-
validate
public uk.gov.gchq.koryphe.ValidationResult validate()
Description copied from interface:OperationValidates an operation. This should be used to validate that fields have been be configured correctly. By default no validation is applied. Override this method to implement validation.
-
shallowClone
public SampleElementsForSplitPoints<T> shallowClone()
Description copied from interface:OperationOperation implementations should ensure a ShallowClone method is implemented. Performs a shallow clone. Creates a new instance and copies the fields across. It does not clone the fields. If the operation contains nested operations, these must also be cloned.- Specified by:
shallowClonein interfaceOperation- Returns:
- shallow clone
-
getOptions
public Map<String,String> getOptions()
- Specified by:
getOptionsin interfaceOperation- Returns:
- the operation options. This may contain store specific options such as authorisation strings or and other properties required for the operation to be executed. Note these options will probably not be interpreted in the same way by every store implementation.
-
setOptions
public void setOptions(Map<String,String> options)
- Specified by:
setOptionsin interfaceOperation- Parameters:
options- the operation options. This may contain store specific options such as authorisation strings or and other properties required for the operation to be executed. Note these options will probably not be interpreted in the same way by every store implementation.
-
getNumSplits
public Integer getNumSplits()
-
setNumSplits
public void setNumSplits(Integer numSplits)
-
getProportionToSample
public float getProportionToSample()
-
setProportionToSample
public void setProportionToSample(float proportionToSample)
-
getOutputTypeReference
public com.fasterxml.jackson.core.type.TypeReference<List<T>> getOutputTypeReference()
- Specified by:
getOutputTypeReferencein interfaceOutput<T>
-
-