public class BulkIterationNode extends SingleInputNode implements IterationNode
OptimizerNode.UnclosedBranchDescriptorinConn, keyscachedPlans, closedBranchingNodes, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, uniqueFields| Constructor and Description |
|---|
BulkIterationNode(org.apache.flink.api.common.operators.base.BulkIterationBase<?> iteration)
Creates a new node for the bulk iteration.
|
| Modifier and Type | Method and Description |
|---|---|
void |
acceptForStepFunction(org.apache.flink.util.Visitor<OptimizerNode> visitor) |
void |
clearInterestingProperties() |
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.
|
int |
getCostWeight() |
org.apache.flink.api.common.operators.base.BulkIterationBase<?> |
getIterationContract() |
OptimizerNode |
getNextPartialSolution()
Gets the nextPartialSolution from this BulkIterationNode.
|
String |
getOperatorName()
Gets the name of this node, which is the name of the function/operator, or
data source / data sink.
|
BulkPartialSolutionNode |
getPartialSolution()
Gets the partialSolution from this BulkIterationNode.
|
protected List<OperatorDescriptorSingle> |
getPossibleProperties() |
org.apache.flink.api.common.operators.SemanticProperties |
getSemanticProperties() |
OptimizerNode |
getSingleRootOfStepFunction() |
protected void |
instantiateCandidate(OperatorDescriptorSingle dps,
Channel in,
List<Set<? extends NamedChannel>> broadcastPlanChannels,
List<PlanNode> target,
CostEstimator estimator,
RequestedGlobalProperties globPropsReq,
RequestedLocalProperties locPropsReq) |
protected void |
readStubAnnotations()
Reads all stub annotations, i.e.
|
void |
setNextPartialSolution(OptimizerNode nextPartialSolution,
OptimizerNode terminationCriterion)
Sets the nextPartialSolution for this BulkIterationNode.
|
void |
setPartialSolution(BulkPartialSolutionNode partialSolution)
Sets the partialSolution for this BulkIterationNode.
|
accept, addLocalCandidates, getAlternativePlans, getIncomingConnection, getIncomingConnections, getOperator, getPredecessorNode, getSemanticPropertiesForGlobalPropertyFiltering, getSemanticPropertiesForLocalPropertyFiltering, setIncomingConnection, setInputaddBroadcastConnection, addClosedBranch, addClosedBranches, addOutgoingConnection, areBranchCompatible, computeOutputEstimates, computeUnclosedBranchStackForBroadcastInputs, computeUnionOfInterestingPropertiesFromSuccessors, getBranchesForParent, getBroadcastConnectionNames, getBroadcastConnections, getClosedBranchingNodes, 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, readUniqueFieldsAnnotation, removeClosedBranches, setBroadcastInputs, setEstimatedNumRecords, setEstimatedOutputSize, setParallelism, toStringpublic BulkIterationNode(org.apache.flink.api.common.operators.base.BulkIterationBase<?> iteration)
iteration - The bulk iteration the node represents.public org.apache.flink.api.common.operators.base.BulkIterationBase<?> getIterationContract()
public BulkPartialSolutionNode getPartialSolution()
public void setPartialSolution(BulkPartialSolutionNode partialSolution)
partialSolution - The partialSolution to set.public OptimizerNode getNextPartialSolution()
public void setNextPartialSolution(OptimizerNode nextPartialSolution, OptimizerNode terminationCriterion)
nextPartialSolution - The nextPartialSolution to set.public int getCostWeight()
getCostWeight in class OptimizerNodepublic OptimizerNode getSingleRootOfStepFunction()
public String getOperatorName()
OptimizerNodegetOperatorName in class OptimizerNodepublic org.apache.flink.api.common.operators.SemanticProperties getSemanticProperties()
getSemanticProperties in class SingleInputNodeprotected void readStubAnnotations()
OptimizerNodereadStubAnnotations in class OptimizerNodeprotected void computeOperatorSpecificDefaultEstimates(DataStatistics statistics)
computeOperatorSpecificDefaultEstimates in class OptimizerNodeprotected List<OperatorDescriptorSingle> getPossibleProperties()
getPossibleProperties in class SingleInputNodepublic void computeInterestingPropertiesForInputs(CostEstimator estimator)
OptimizerNodecomputeInterestingPropertiesForInputs in class SingleInputNodeestimator - The CostEstimator instance to use for plan cost estimation.public void clearInterestingProperties()
clearInterestingProperties in class OptimizerNodepublic 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 SingleInputNodeprotected void instantiateCandidate(OperatorDescriptorSingle dps, Channel in, List<Set<? extends NamedChannel>> broadcastPlanChannels, List<PlanNode> target, CostEstimator estimator, RequestedGlobalProperties globPropsReq, RequestedLocalProperties locPropsReq)
instantiateCandidate in class SingleInputNodepublic void acceptForStepFunction(org.apache.flink.util.Visitor<OptimizerNode> visitor)
acceptForStepFunction in interface IterationNodeCopyright © 2014–2020 The Apache Software Foundation. All rights reserved.