Package org.apache.wayang.java.operators
Class JavaDoWhileOperator<InputType,ConvergenceType>
java.lang.Object
org.apache.wayang.core.plan.wayangplan.OperatorBase
org.apache.wayang.basic.operators.DoWhileOperator<InputType,ConvergenceType>
org.apache.wayang.java.operators.JavaDoWhileOperator<InputType,ConvergenceType>
- All Implemented Interfaces:
Serializable,ActualOperator,ElementaryOperator,ExecutionOperator,LoopHeadOperator,Operator,JavaExecutionOperator
public class JavaDoWhileOperator<InputType,ConvergenceType>
extends DoWhileOperator<InputType,ConvergenceType>
implements JavaExecutionOperator
Java implementation of the
DoWhileOperator.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wayang.core.plan.wayangplan.OperatorBase
OperatorBase.GsonSerializerNested classes/interfaces inherited from interface org.apache.wayang.core.plan.wayangplan.LoopHeadOperator
LoopHeadOperator.State -
Field Summary
Fields inherited from class org.apache.wayang.basic.operators.DoWhileOperator
CONVERGENCE_INPUT_INDEX, criterionDescriptor, FINAL_OUTPUT_INDEX, INITIAL_INPUT_INDEX, ITERATION_INPUT_INDEX, ITERATION_OUTPUT_INDEXFields 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
ConstructorsConstructorDescriptionCreates a new instance.JavaDoWhileOperator(DataSetType<InputType> inputType, DataSetType<ConvergenceType> convergenceType, FunctionDescriptor.SerializablePredicate<Collection<ConvergenceType>> criterionPredicate, Integer numExpectedIterations) Creates a new instance.JavaDoWhileOperator(DataSetType<InputType> inputType, DataSetType<ConvergenceType> convergenceType, PredicateDescriptor<Collection<ConvergenceType>> criterionDescriptor, Integer numExpectedIterations) -
Method Summary
Modifier and TypeMethodDescriptionprotected ExecutionOperatorcreateLoadProfileEstimator(Configuration configuration) Developers ofExecutionOperators can provide a defaultLoadProfileEstimatorvia this method.evaluate(ChannelInstance[] inputs, ChannelInstance[] outputs, JavaExecutor javaExecutor, OptimizationContext.OperatorContext operatorContext) Evaluates this operator.getSupportedInputChannels(int index) getSupportedOutputChannels(int index) Display the supportedChannels for a certainOutputSlot.Methods inherited from class org.apache.wayang.basic.operators.DoWhileOperator
beginIteration, createCardinalityEstimator, endIteration, getConditionInputSlots, getConditionOutputSlots, getConvergenceType, getCriterionDescriptor, getFinalLoopOutputs, getForwards, getInputType, getLoopBodyInputs, getLoopBodyOutputs, getLoopInitializationInputs, getNumExpectedIterations, getState, initialize, isReading, outputConnectTo, setNumExpectedIterations, setStateMethods 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, createOutputChannelInstances, getLimitBaseKey, getLoadProfileEstimatorConfigurationKeys, getOriginal, getOutputChannelDescriptor, isFilteredMethods inherited from interface org.apache.wayang.java.operators.JavaExecutionOperator
getPlatformMethods inherited from interface org.apache.wayang.core.plan.wayangplan.LoopHeadOperator
getCardinalityPusher, getFinalizationPusher, getInitializationPusherMethods inherited from interface org.apache.wayang.core.plan.wayangplan.Operator
addBroadcastInput, addTargetPlatform, broadcastTo, broadcastTo, collectMappedInputSlots, collectMappedOutputSlots, connectTo, connectTo, getAllInputs, getAllOutputs, 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
-
JavaDoWhileOperator
public JavaDoWhileOperator(DataSetType<InputType> inputType, DataSetType<ConvergenceType> convergenceType, FunctionDescriptor.SerializablePredicate<Collection<ConvergenceType>> criterionPredicate, Integer numExpectedIterations) Creates a new instance. -
JavaDoWhileOperator
public JavaDoWhileOperator(DataSetType<InputType> inputType, DataSetType<ConvergenceType> convergenceType, PredicateDescriptor<Collection<ConvergenceType>> criterionDescriptor, Integer numExpectedIterations) -
JavaDoWhileOperator
Creates a new instance.
-
-
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
-
getLoadProfileEstimatorConfigurationKey
- Specified by:
getLoadProfileEstimatorConfigurationKeyin interfaceExecutionOperator
-
createLoadProfileEstimator
Description copied from interface:ExecutionOperatorDevelopers ofExecutionOperators can provide a defaultLoadProfileEstimatorvia this method.- Specified by:
createLoadProfileEstimatorin interfaceExecutionOperator- Parameters:
configuration- in which theLoadProfileshould be estimated.- Returns:
- an
Optionalthat might contain theLoadProfileEstimator(butOptional.empty()by default)
-
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:
-