Package org.apache.wayang.java.operators
Class JavaRandomSampleOperator<Type>
java.lang.Object
org.apache.wayang.core.plan.wayangplan.OperatorBase
org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator<Type,Type>
org.apache.wayang.basic.operators.SampleOperator<Type>
org.apache.wayang.java.operators.JavaRandomSampleOperator<Type>
- All Implemented Interfaces:
Serializable,ActualOperator,ElementaryOperator,ExecutionOperator,Operator,JavaExecutionOperator
public class JavaRandomSampleOperator<Type>
extends SampleOperator<Type>
implements JavaExecutionOperator
Java implementation of the
JavaRandomSampleOperator. This sampling method is with replacement (i.e., duplicates may appear in the sample).- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wayang.basic.operators.SampleOperator
SampleOperator.MethodsNested classes/interfaces inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
OperatorBase.GsonSerializer -
Field Summary
Fields inherited from class org.apache.wayang.basic.operators.SampleOperator
datasetSize, logger, sampleSizeFunction, seedFunction, UNKNOWN_DATASET_SIZEFields inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
inputSlots, outputSlots, STANDARD_OPERATOR_ARGSFields inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
FIRST_EPOCH -
Constructor Summary
ConstructorsConstructorDescriptionCopies an instance (exclusive of broadcasts).JavaRandomSampleOperator(FunctionDescriptor.SerializableIntUnaryOperator sampleSizeFunction, DataSetType<Type> type, FunctionDescriptor.SerializableLongUnaryOperator seedFunction) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected ExecutionOperatorevaluate(ChannelInstance[] inputs, ChannelInstance[] outputs, JavaExecutor javaExecutor, OptimizationContext.OperatorContext operatorContext) Evaluates this operator.Provide theConfigurationkeys for theLoadProfileEstimatorspecification of this instance.getSupportedInputChannels(int index) getSupportedOutputChannels(int index) Display the supportedChannels for a certainOutputSlot.Methods inherited from class org.apache.wayang.basic.operators.SampleOperator
createCardinalityEstimator, getDatasetSize, getSampleMethod, getSampleSize, getSeed, getType, isDataSetSizeKnown, randomSeed, setDatasetSize, setSampleMethod, setSeedFunctionMethods inherited from class org.apache.wayang.core.plan.wayangplan.UnaryToUnaryOperator
getInput, getInputType, getOutput, getOutputTypeMethods inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
accept, addBroadcastInput, addTargetPlatform, at, collectMappedInputSlots, collectMappedOutputSlots, copy, getAllInputs, getAllOutputs, getCardinalityEstimator, getContainer, getEpoch, getName, getOriginal, getSimpleClassName, getTargetPlatforms, isAuxiliary, isSupportingBroadcastInputs, propagateInputCardinality, propagateOutputCardinality, setAuxiliary, setCardinalityEstimator, setContainer, setEpoch, setName, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.wayang.core.plan.wayangplan.ActualOperator
acceptMethods inherited from interface org.apache.wayang.core.plan.wayangplan.ElementaryOperator
createCardinalityEstimator, getCardinalityEstimator, isAuxiliary, setAuxiliary, setCardinalityEstimatorMethods inherited from interface org.apache.wayang.core.plan.wayangplan.ExecutionOperator
copy, createLoadProfileEstimator, createOutputChannelInstances, getLimitBaseKey, getLoadProfileEstimatorConfigurationKey, getOriginal, getOutputChannelDescriptor, isFilteredMethods inherited from interface org.apache.wayang.java.operators.JavaExecutionOperator
getPlatformMethods inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
addBroadcastInput, addTargetPlatform, broadcastTo, broadcastTo, collectMappedInputSlots, collectMappedOutputSlots, connectTo, connectTo, getAllInputs, getAllOutputs, getCardinalityPusher, getContainer, getEffectiveOccupant, getEffectiveOccupant, getEpoch, getEstimationContextProperties, getForwards, getInnermostLoop, getInput, getInput, getLoopStack, getName, getNumBroadcastInputs, getNumInputs, getNumOutputs, getNumRegularInputs, getOuterInputSlot, getOutermostInputSlot, getOutermostOutputSlots, getOutput, getOutput, getParent, getTargetPlatforms, isAlternative, isConversion, isElementary, isExecutionOperator, isFeedbackInput, isFeedforwardOutput, isLoopHead, isLoopSubplan, isOwnerOf, isReading, isSink, isSource, isSubplan, isSupportingBroadcastInputs, isUnconnected, propagateInputCardinality, propagateOutputCardinality, propagateOutputCardinality, replaceWith, setContainer, setEpoch, setInput, setName, setOutput
-
Constructor Details
-
JavaRandomSampleOperator
public JavaRandomSampleOperator(FunctionDescriptor.SerializableIntUnaryOperator sampleSizeFunction, DataSetType<Type> type, FunctionDescriptor.SerializableLongUnaryOperator seedFunction) Creates a new instance.- Parameters:
sampleSizeFunction- udf-based size of sample
-
JavaRandomSampleOperator
Copies an instance (exclusive of broadcasts).- Parameters:
that- that should be copied
-
-
Method Details
-
evaluate
public Tuple<Collection<ExecutionLineageNode>,Collection<ChannelInstance>> evaluate(ChannelInstance[] inputs, ChannelInstance[] outputs, JavaExecutor javaExecutor, OptimizationContext.OperatorContext operatorContext) Description copied from interface:JavaExecutionOperatorEvaluates this operator. Takes a set of JavaStreams according to the operator inputs and produces a set ofStreams according to the operator outputs -- unless the operator is a sink, then it triggers execution.In addition, this method should give feedback of what this instance was doing by wiring the
LazyExecutionLineageNodes of input and ouputChannelInstances and providing aCollectionof executedOptimizationContext.OperatorContexts.- Specified by:
evaluatein interfaceJavaExecutionOperator- Parameters:
inputs-ChannelInstances that satisfy the inputs of this operatoroutputs-ChannelInstances that collect the outputs of this operatorjavaExecutor- that executes this instanceoperatorContext- optimization information for this instance- Returns:
Collections of what has been executed and produced
-
getLoadProfileEstimatorConfigurationKeys
Description copied from interface:ExecutionOperatorProvide theConfigurationkeys for theLoadProfileEstimatorspecification of this instance.- Specified by:
getLoadProfileEstimatorConfigurationKeysin interfaceExecutionOperator- Returns:
- the
Configurationkeys
-
createCopy
- Overrides:
createCopyin classOperatorBase
-
getSupportedInputChannels
Description copied from interface:ExecutionOperator- Specified by:
getSupportedInputChannelsin interfaceExecutionOperator- Parameters:
index- the index of theInputSlot- Returns:
- an
ListofChannels'Classes, ordered by their preference of use
-
getSupportedOutputChannels
Description copied from interface:ExecutionOperatorDisplay the supportedChannels for a certainOutputSlot.- Specified by:
getSupportedOutputChannelsin interfaceExecutionOperator- Parameters:
index- the index of theOutputSlot- Returns:
- an
ListofChannels'Classes, ordered by their preference of use - See Also:
-