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
SampleElementsForSplitPoints
operation is for sampling anIterable
ofElement
s and generating split points. The operation returns aList
of 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
Limit
Operation.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 class
SampleElementsForSplitPoints.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()
Integer
getNumSplits()
Map<String,String>
getOptions()
com.fasterxml.jackson.core.type.TypeReference<List<T>>
getOutputTypeReference()
float
getProportionToSample()
void
setInput(Iterable<? extends Element> input)
void
setNumSplits(Integer numSplits)
void
setOptions(Map<String,String> options)
void
setProportionToSample(float proportionToSample)
SampleElementsForSplitPoints<T>
shallowClone()
Operation implementations should ensure a ShallowClone method is implemented.uk.gov.gchq.koryphe.ValidationResult
validate()
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:Operation
Validates 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:Operation
Operation 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:
shallowClone
in interfaceOperation
- Returns:
- shallow clone
-
getOptions
public Map<String,String> getOptions()
- Specified by:
getOptions
in 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:
setOptions
in 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:
getOutputTypeReference
in interfaceOutput<T>
-
-