Package org.apache.flink.optimizer.plan
Class DualInputPlanNode
- java.lang.Object
-
- org.apache.flink.optimizer.plan.PlanNode
-
- org.apache.flink.optimizer.plan.DualInputPlanNode
-
- All Implemented Interfaces:
DumpableNode<PlanNode>,org.apache.flink.util.Visitable<PlanNode>
- Direct Known Subclasses:
BinaryUnionPlanNode,SinkJoinerPlanNode,WorksetIterationPlanNode
public class DualInputPlanNode extends PlanNode
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.flink.optimizer.plan.PlanNode
PlanNode.FeedbackPropertiesMeetRequirementsReport, PlanNode.SourceAndDamReport
-
-
Field Summary
Fields Modifier and Type Field Description protected Channelinput1protected Channelinput2protected org.apache.flink.api.common.operators.util.FieldListkeys1protected org.apache.flink.api.common.operators.util.FieldListkeys2ObjectpostPassHelper1ObjectpostPassHelper2protected boolean[]sortOrders-
Fields inherited from class org.apache.flink.optimizer.plan.PlanNode
branchPlan, cumulativeCosts, globalProps, localProps, nodeCosts, outChannels, template
-
-
Constructor Summary
Constructors Constructor Description DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, org.apache.flink.runtime.operators.DriverStrategy diverStrategy)DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, org.apache.flink.runtime.operators.DriverStrategy diverStrategy, org.apache.flink.api.common.operators.util.FieldList driverKeyFields1, org.apache.flink.api.common.operators.util.FieldList driverKeyFields2)DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, org.apache.flink.runtime.operators.DriverStrategy diverStrategy, org.apache.flink.api.common.operators.util.FieldList driverKeyFields1, org.apache.flink.api.common.operators.util.FieldList driverKeyFields2, boolean[] driverSortOrders)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(org.apache.flink.util.Visitor<PlanNode> visitor)org.apache.flink.api.common.typeutils.TypeComparatorFactory<?>getComparator1()org.apache.flink.api.common.typeutils.TypeComparatorFactory<?>getComparator2()ChannelgetInput1()Gets the first input channel to this node.ChannelgetInput2()Gets the second input channel to this node.Iterable<Channel>getInputs()org.apache.flink.api.common.operators.util.FieldListgetKeysForInput1()org.apache.flink.api.common.operators.util.FieldListgetKeysForInput2()org.apache.flink.api.common.typeutils.TypePairComparatorFactory<?,?>getPairComparator()Iterable<PlanNode>getPredecessors()Gets an iterator over the predecessors.boolean[]getSortOrders()TwoInputNodegetTwoInputNode()PlanNode.SourceAndDamReporthasDamOnPathDownTo(PlanNode source)Checks whether this node has a dam on the way down to the given source node.voidsetComparator1(org.apache.flink.api.common.typeutils.TypeComparatorFactory<?> comparator)voidsetComparator2(org.apache.flink.api.common.typeutils.TypeComparatorFactory<?> comparator)voidsetPairComparator(org.apache.flink.api.common.typeutils.TypePairComparatorFactory<?,?> comparator)-
Methods inherited from class org.apache.flink.optimizer.plan.PlanNode
addOutgoingChannel, checkPartialSolutionPropertiesMet, getBranchPlan, getBroadcastInputs, getCandidateAtBranchPoint, getCostWeight, getCumulativeCosts, getCumulativeCostsShare, getDriverStrategy, getDumpableInputs, getGlobalProperties, getGuaranteedAvailableMemory, getLocalProperties, getMemoryConsumerWeight, getMinResources, getNodeCosts, getNodeName, getOptimizerNode, getOriginalOptimizerNode, getOutgoingChannels, getParallelism, getPlanNode, getPreferredResources, getProgramOperator, getRelativeMemoryPerSubTask, initProperties, isOnDynamicPath, isPruneMarkerSet, mergeBranchPlanMaps, mergeBranchPlanMaps, setBroadcastInputs, setCosts, setDriverStrategy, setParallelism, setPruningMarker, setRelativeMemoryPerSubtask, toString, updatePropertiesWithUniqueSets
-
-
-
-
Field Detail
-
input1
protected final Channel input1
-
input2
protected final Channel input2
-
keys1
protected final org.apache.flink.api.common.operators.util.FieldList keys1
-
keys2
protected final org.apache.flink.api.common.operators.util.FieldList keys2
-
sortOrders
protected final boolean[] sortOrders
-
postPassHelper1
public Object postPassHelper1
-
postPassHelper2
public Object postPassHelper2
-
-
Constructor Detail
-
DualInputPlanNode
public DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, org.apache.flink.runtime.operators.DriverStrategy diverStrategy)
-
DualInputPlanNode
public DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, org.apache.flink.runtime.operators.DriverStrategy diverStrategy, org.apache.flink.api.common.operators.util.FieldList driverKeyFields1, org.apache.flink.api.common.operators.util.FieldList driverKeyFields2)
-
DualInputPlanNode
public DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, org.apache.flink.runtime.operators.DriverStrategy diverStrategy, org.apache.flink.api.common.operators.util.FieldList driverKeyFields1, org.apache.flink.api.common.operators.util.FieldList driverKeyFields2, boolean[] driverSortOrders)
-
-
Method Detail
-
getTwoInputNode
public TwoInputNode getTwoInputNode()
-
getKeysForInput1
public org.apache.flink.api.common.operators.util.FieldList getKeysForInput1()
-
getKeysForInput2
public org.apache.flink.api.common.operators.util.FieldList getKeysForInput2()
-
getSortOrders
public boolean[] getSortOrders()
-
getComparator1
public org.apache.flink.api.common.typeutils.TypeComparatorFactory<?> getComparator1()
-
getComparator2
public org.apache.flink.api.common.typeutils.TypeComparatorFactory<?> getComparator2()
-
setComparator1
public void setComparator1(org.apache.flink.api.common.typeutils.TypeComparatorFactory<?> comparator)
-
setComparator2
public void setComparator2(org.apache.flink.api.common.typeutils.TypeComparatorFactory<?> comparator)
-
getPairComparator
public org.apache.flink.api.common.typeutils.TypePairComparatorFactory<?,?> getPairComparator()
-
setPairComparator
public void setPairComparator(org.apache.flink.api.common.typeutils.TypePairComparatorFactory<?,?> comparator)
-
getInput1
public Channel getInput1()
Gets the first input channel to this node.- Returns:
- The first input channel to this node.
-
getInput2
public Channel getInput2()
Gets the second input channel to this node.- Returns:
- The second input channel to this node.
-
accept
public void accept(org.apache.flink.util.Visitor<PlanNode> visitor)
-
getPredecessors
public Iterable<PlanNode> getPredecessors()
Description copied from interface:DumpableNodeGets an iterator over the predecessors.- Specified by:
getPredecessorsin interfaceDumpableNode<PlanNode>- Specified by:
getPredecessorsin classPlanNode- Returns:
- An iterator over the predecessors.
-
hasDamOnPathDownTo
public PlanNode.SourceAndDamReport hasDamOnPathDownTo(PlanNode source)
Description copied from class:PlanNodeChecks whether this node has a dam on the way down to the given source node. This method returns either that (a) the source node is not found as a (transitive) child of this node, (b) the node is found, but no dam is on the path, or (c) the node is found and a dam is on the path.- Specified by:
hasDamOnPathDownToin classPlanNode- Parameters:
source- The node on the path to which the dam is sought.- Returns:
- The result whether the node is found and whether a dam is on the path.
-
-