public class DataSourceNode extends OptimizerNode
OptimizerNode.UnclosedBranchDescriptor
cachedPlans, closedBranchingNodes, costWeight, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, uniqueFields
Constructor and Description |
---|
DataSourceNode(GenericDataSourceBase<?,?> pactContract)
Creates a new DataSourceNode for the given contract.
|
Modifier and Type | Method and Description |
---|---|
void |
accept(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) |
void |
computeUnclosedBranchStack()
This method causes the node to compute the description of open branches in its sub-plan.
|
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.
|
GenericDataSourceBase<?,?> |
getOperator()
Gets the contract object for this data source node.
|
String |
getOperatorName()
Gets the name of this node, which is the name of the function/operator, or data source / data
sink.
|
SemanticProperties |
getSemanticProperties() |
void |
setInput(Map<Operator<?>,OptimizerNode> contractToNode,
ExecutionMode defaultDataExchangeMode)
This function connects the predecessors to this operator.
|
void |
setParallelism(int parallelism)
Sets the parallelism for this optimizer node.
|
addBroadcastConnection, addClosedBranch, addClosedBranches, addOutgoingConnection, areBranchCompatible, clearInterestingProperties, computeOutputEstimates, computeUnclosedBranchStackForBroadcastInputs, computeUnionOfInterestingPropertiesFromSuccessors, getBranchesForParent, getBroadcastConnectionNames, getBroadcastConnections, getClosedBranchingNodes, getCostWeight, getDumpableInputs, getEstimatedAvgWidthPerOutputRecord, getEstimatedNumRecords, getEstimatedOutputSize, getId, getInterestingProperties, getMaxDepth, getMinimalMemoryAcrossAllSubTasks, getOpenBranches, getOptimizerNode, getOutgoingConnections, getParallelism, getPlanNode, getPredecessors, getUniqueFields, hasUnclosedBranches, haveAllOutputConnectionInterestingProperties, identifyDynamicPath, initId, isBranching, isOnDynamicPath, markAllOutgoingConnectionsAsPipelineBreaking, mergeLists, prunePlanAlternatives, prunePlanAlternativesWithCommonBranching, readStubAnnotations, readUniqueFieldsAnnotation, removeClosedBranches, setBroadcastInputs, setEstimatedNumRecords, setEstimatedOutputSize, toString
public DataSourceNode(GenericDataSourceBase<?,?> pactContract)
pactContract
- The data source contract object.public GenericDataSourceBase<?,?> getOperator()
getOperator
in class OptimizerNode
public String getOperatorName()
OptimizerNode
getOperatorName
in class OptimizerNode
public void setParallelism(int parallelism)
OptimizerNode
setParallelism
in class OptimizerNode
parallelism
- The parallelism to set. If this value is ExecutionConfig.PARALLELISM_DEFAULT
then the system will take the default number of
parallel instances.public List<DagConnection> getIncomingConnections()
OptimizerNode
getIncomingConnections
in class OptimizerNode
public void setInput(Map<Operator<?>,OptimizerNode> contractToNode, ExecutionMode defaultDataExchangeMode)
OptimizerNode
setInput
in class OptimizerNode
contractToNode
- The map from program operators to optimizer nodes.defaultDataExchangeMode
- The data exchange mode to use, if the operator does not specify
one.protected void computeOperatorSpecificDefaultEstimates(DataStatistics statistics)
computeOperatorSpecificDefaultEstimates
in class OptimizerNode
public void computeInterestingPropertiesForInputs(CostEstimator estimator)
OptimizerNode
computeInterestingPropertiesForInputs
in class OptimizerNode
estimator
- The CostEstimator
instance to use for plan cost estimation.public void computeUnclosedBranchStack()
OptimizerNode
openBranches
field to a stack of unclosed branches, the latest one top. A branch is considered closed, if
some later node sees all of the branching node's outputs, no matter if there have been more
branches to different paths in the meantime.computeUnclosedBranchStack
in class OptimizerNode
public List<PlanNode> getAlternativePlans(CostEstimator estimator)
OptimizerNode
getAlternatives()
on its
children to get their plan alternatives, and build its own alternatives on top of those.getAlternativePlans
in class OptimizerNode
estimator
- The cost estimator used to estimate the costs of each plan alternative.public SemanticProperties getSemanticProperties()
getSemanticProperties
in class OptimizerNode
public void accept(Visitor<OptimizerNode> visitor)
OptimizerNode
preVisit()
method, then hand the visitor to their children, and
finally call the postVisit()
method.accept
in interface Visitable<OptimizerNode>
accept
in class OptimizerNode
visitor
- The graph traversing visitor.Visitable.accept(org.apache.flink.util.Visitor)
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.