public abstract class AbstractPartialSolutionNode extends OptimizerNode
OptimizerNode.UnclosedBranchDescriptorcachedPlans, closedBranchingNodes, costWeight, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, uniqueFields| Modifier | Constructor and Description |
|---|---|
protected |
AbstractPartialSolutionNode(org.apache.flink.api.common.operators.Operator<?> contract) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(org.apache.flink.util.Visitor<OptimizerNode> visitor)
This method implements the visit of a depth-first graph traversing visitor.
|
void |
computeInterestingPropertiesForInputs(CostEstimator estimator)
Tells the node to compute the interesting properties for its inputs.
|
protected void |
computeOperatorSpecificDefaultEstimates(DataStatistics statistics) |
protected void |
copyEstimates(OptimizerNode node) |
List<PlanNode> |
getAlternativePlans(CostEstimator estimator)
Computes the plan alternatives for this node, an implicitly for all nodes that are children of
this node.
|
List<DagConnection> |
getIncomingConnections()
Gets all incoming connections of this node.
|
abstract IterationNode |
getIterationNode() |
org.apache.flink.api.common.operators.SemanticProperties |
getSemanticProperties() |
void |
identifyDynamicPath(int costWeight) |
boolean |
isOnDynamicPath() |
protected void |
readStubAnnotations()
Reads all stub annotations, i.e.
|
void |
setInput(Map<org.apache.flink.api.common.operators.Operator<?>,OptimizerNode> contractToNode,
org.apache.flink.api.common.ExecutionMode dataExchangeMode)
This function connects the predecessors to this operator.
|
addBroadcastConnection, addClosedBranch, addClosedBranches, addOutgoingConnection, areBranchCompatible, clearInterestingProperties, computeOutputEstimates, computeUnclosedBranchStack, computeUnclosedBranchStackForBroadcastInputs, computeUnionOfInterestingPropertiesFromSuccessors, getBranchesForParent, getBroadcastConnectionNames, getBroadcastConnections, getClosedBranchingNodes, getCostWeight, getDumpableInputs, getEstimatedAvgWidthPerOutputRecord, getEstimatedNumRecords, getEstimatedOutputSize, getId, getInterestingProperties, getMaxDepth, getMinimalMemoryAcrossAllSubTasks, getOpenBranches, getOperator, getOperatorName, getOptimizerNode, getOutgoingConnections, getParallelism, getPlanNode, getPredecessors, getUniqueFields, hasUnclosedBranches, haveAllOutputConnectionInterestingProperties, initId, isBranching, markAllOutgoingConnectionsAsPipelineBreaking, mergeLists, prunePlanAlternatives, prunePlanAlternativesWithCommonBranching, readUniqueFieldsAnnotation, removeClosedBranches, setBroadcastInputs, setEstimatedNumRecords, setEstimatedOutputSize, setParallelism, toStringprotected AbstractPartialSolutionNode(org.apache.flink.api.common.operators.Operator<?> contract)
protected void copyEstimates(OptimizerNode node)
public abstract IterationNode getIterationNode()
public boolean isOnDynamicPath()
isOnDynamicPath in class OptimizerNodepublic void identifyDynamicPath(int costWeight)
identifyDynamicPath in class OptimizerNodepublic List<DagConnection> getIncomingConnections()
OptimizerNodegetIncomingConnections in class OptimizerNodepublic void setInput(Map<org.apache.flink.api.common.operators.Operator<?>,OptimizerNode> contractToNode, org.apache.flink.api.common.ExecutionMode dataExchangeMode)
OptimizerNodesetInput in class OptimizerNodecontractToNode - The map from program operators to optimizer nodes.dataExchangeMode - The data exchange mode to use, if the operator does not
specify one.protected void computeOperatorSpecificDefaultEstimates(DataStatistics statistics)
computeOperatorSpecificDefaultEstimates in class OptimizerNodepublic void computeInterestingPropertiesForInputs(CostEstimator estimator)
OptimizerNodecomputeInterestingPropertiesForInputs in class OptimizerNodeestimator - The CostEstimator instance to use for plan cost estimation.public List<PlanNode> getAlternativePlans(CostEstimator estimator)
OptimizerNodegetAlternatives() on its children
to get their plan alternatives, and build its own alternatives on top of those.getAlternativePlans in class OptimizerNodeestimator - The cost estimator used to estimate the costs of each plan alternative.public org.apache.flink.api.common.operators.SemanticProperties getSemanticProperties()
getSemanticProperties in class OptimizerNodeprotected void readStubAnnotations()
OptimizerNodereadStubAnnotations in class OptimizerNodepublic void accept(org.apache.flink.util.Visitor<OptimizerNode> visitor)
OptimizerNodepreVisit() method, then hand the visitor to their children, and finally call
the postVisit() method.accept in interface org.apache.flink.util.Visitable<OptimizerNode>accept in class OptimizerNodevisitor - The graph traversing visitor.Visitable.accept(org.apache.flink.util.Visitor)Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.