Package org.apache.wayang.java.operators
Class JavaJoinOperator<InputType0,InputType1,KeyType>
java.lang.Object
org.apache.wayang.core.plan.wayangplan.OperatorBase
org.apache.wayang.core.plan.wayangplan.BinaryToUnaryOperator<InputType0,InputType1,Tuple2<InputType0,InputType1>>
org.apache.wayang.basic.operators.JoinOperator<InputType0,InputType1,KeyType>
org.apache.wayang.java.operators.JavaJoinOperator<InputType0,InputType1,KeyType>
- All Implemented Interfaces:
Serializable,ActualOperator,ElementaryOperator,ExecutionOperator,Operator,JavaExecutionOperator
public class JavaJoinOperator<InputType0,InputType1,KeyType>
extends JoinOperator<InputType0,InputType1,KeyType>
implements JavaExecutionOperator
Java implementation of the
JoinOperator.- See Also:
-
Nested Class Summary
Nested 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.JoinOperator
keyDescriptor0, keyDescriptor1Fields 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).JavaJoinOperator(DataSetType<InputType0> inputType0, DataSetType<InputType1> inputType1, TransformationDescriptor<InputType0, KeyType> keyDescriptor0, TransformationDescriptor<InputType1, KeyType> keyDescriptor1) Creates a new instance. -
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.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.JoinOperator
createCardinalityEstimator, getKeyDescriptor0, getKeyDescriptor1Methods inherited from class org.apache.wayang.core.plan.wayangplan.BinaryToUnaryOperator
getInputType0, getInputType1, 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, 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
-
JavaJoinOperator
public JavaJoinOperator(DataSetType<InputType0> inputType0, DataSetType<InputType1> inputType1, TransformationDescriptor<InputType0, KeyType> keyDescriptor0, TransformationDescriptor<InputType1, KeyType> keyDescriptor1) Creates a new instance. -
JavaJoinOperator
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
-
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:
-