public class DataSinkNode extends OptimizerNode
OptimizerNode.UnclosedBranchDescriptor| Modifier and Type | Field and Description |
|---|---|
protected DagConnection |
input |
cachedPlans, closedBranchingNodes, costWeight, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, uniqueFields| Constructor and Description |
|---|
DataSinkNode(org.apache.flink.api.common.operators.GenericDataSinkBase<?> sink)
Creates a new DataSinkNode for the given sink operator.
|
| 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)
Computes the estimated outputs for the data sink.
|
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.
|
protected List<OptimizerNode.UnclosedBranchDescriptor> |
getBranchesForParent(DagConnection parent) |
List<DagConnection> |
getIncomingConnections()
Gets all incoming connections of this node.
|
DagConnection |
getInputConnection()
Gets the input of the sink.
|
org.apache.flink.api.common.operators.GenericDataSinkBase<?> |
getOperator()
Gets the operator for which this optimizer sink node was created.
|
String |
getOperatorName()
Gets the name of this node, which is the name of the function/operator, or data source / data
sink.
|
List<DagConnection> |
getOutgoingConnections()
Gets all outgoing connections, which is an empty set for the data sink.
|
OptimizerNode |
getPredecessorNode()
Gets the predecessor of this node.
|
org.apache.flink.api.common.operators.SemanticProperties |
getSemanticProperties() |
void |
setInput(Map<org.apache.flink.api.common.operators.Operator<?>,OptimizerNode> contractToNode,
org.apache.flink.api.common.ExecutionMode defaultExchangeMode)
This function connects the predecessors to this operator.
|
addBroadcastConnection, addClosedBranch, addClosedBranches, addOutgoingConnection, areBranchCompatible, clearInterestingProperties, computeOutputEstimates, computeUnclosedBranchStackForBroadcastInputs, computeUnionOfInterestingPropertiesFromSuccessors, getBroadcastConnectionNames, getBroadcastConnections, getClosedBranchingNodes, getCostWeight, getDumpableInputs, getEstimatedAvgWidthPerOutputRecord, getEstimatedNumRecords, getEstimatedOutputSize, getId, getInterestingProperties, getMaxDepth, getMinimalMemoryAcrossAllSubTasks, getOpenBranches, getOptimizerNode, getParallelism, getPlanNode, getPredecessors, getUniqueFields, hasUnclosedBranches, haveAllOutputConnectionInterestingProperties, identifyDynamicPath, initId, isBranching, isOnDynamicPath, markAllOutgoingConnectionsAsPipelineBreaking, mergeLists, prunePlanAlternatives, prunePlanAlternativesWithCommonBranching, readStubAnnotations, readUniqueFieldsAnnotation, removeClosedBranches, setBroadcastInputs, setEstimatedNumRecords, setEstimatedOutputSize, setParallelism, toStringprotected DagConnection input
public DataSinkNode(org.apache.flink.api.common.operators.GenericDataSinkBase<?> sink)
sink - The data sink contract object.public DagConnection getInputConnection()
public OptimizerNode getPredecessorNode()
public org.apache.flink.api.common.operators.GenericDataSinkBase<?> getOperator()
getOperator in class OptimizerNodepublic String getOperatorName()
OptimizerNodegetOperatorName in class OptimizerNodepublic List<DagConnection> getIncomingConnections()
OptimizerNodegetIncomingConnections in class OptimizerNodepublic List<DagConnection> getOutgoingConnections()
getOutgoingConnections in class OptimizerNodepublic void setInput(Map<org.apache.flink.api.common.operators.Operator<?>,OptimizerNode> contractToNode, org.apache.flink.api.common.ExecutionMode defaultExchangeMode)
OptimizerNodesetInput in class OptimizerNodecontractToNode - The map from program operators to optimizer nodes.defaultExchangeMode - 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 void computeUnclosedBranchStack()
OptimizerNodeopenBranches
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 OptimizerNodeprotected List<OptimizerNode.UnclosedBranchDescriptor> getBranchesForParent(DagConnection parent)
getBranchesForParent in class OptimizerNodepublic 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 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–2021 The Apache Software Foundation. All rights reserved.