public class WorksetIterationNode extends TwoInputNode implements IterationNode
| Modifier and Type | Class and Description |
|---|---|
static class |
WorksetIterationNode.SingleRootJoiner |
OptimizerNode.UnclosedBranchDescriptorinput1, input2, keys1, keys2cachedPlans, closedBranchingNodes, estimatedNumRecords, estimatedOutputSize, hereJoinedBranches, id, MAX_DYNAMIC_PATH_COST_WEIGHT, onDynamicPath, openBranches, uniqueFields| Constructor and Description |
|---|
WorksetIterationNode(org.apache.flink.api.common.operators.base.DeltaIterationBase<?,?> iteration)
Creates a new node with a single input for the optimizer plan.
|
| 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() |
OptimizerNode |
getInitialSolutionSetPredecessorNode() |
OptimizerNode |
getInitialWorksetPredecessorNode() |
org.apache.flink.api.common.operators.base.DeltaIterationBase<?,?> |
getIterationContract() |
OptimizerNode |
getNextWorkset() |
String |
getOperatorName()
Gets the name of this node, which is the name of the function/operator, or data source / data
sink.
|
protected List<OperatorDescriptorDual> |
getPossibleProperties() |
org.apache.flink.api.common.operators.SemanticProperties |
getSemanticProperties() |
TwoInputNode |
getSingleRootOfStepFunction() |
OptimizerNode |
getSolutionSetDelta() |
org.apache.flink.api.common.operators.util.FieldList |
getSolutionSetKeyFields() |
SolutionSetNode |
getSolutionSetNode() |
WorksetNode |
getWorksetNode() |
protected void |
instantiate(OperatorDescriptorDual operator,
Channel solutionSetIn,
Channel worksetIn,
List<Set<? extends NamedChannel>> broadcastPlanChannels,
List<PlanNode> target,
CostEstimator estimator,
RequestedGlobalProperties globPropsReqSolutionSet,
RequestedGlobalProperties globPropsReqWorkset,
RequestedLocalProperties locPropsReqSolutionSet,
RequestedLocalProperties locPropsReqWorkset) |
protected void |
readStubAnnotations()
Reads all stub annotations, i.e.
|
void |
setNextPartialSolution(OptimizerNode solutionSetDelta,
OptimizerNode nextWorkset,
org.apache.flink.api.common.ExecutionMode executionMode) |
void |
setPartialSolution(SolutionSetNode solutionSetNode,
WorksetNode worksetNode) |
accept, addLocalCandidates, getAlternativePlans, getFirstIncomingConnection, getFirstPredecessorNode, getIncomingConnections, getOperator, getSecondIncomingConnection, getSecondPredecessorNode, getSemanticPropertiesForGlobalPropertyFiltering, getSemanticPropertiesForLocalPropertyFiltering, placePipelineBreakersIfNecessary, 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 WorksetIterationNode(org.apache.flink.api.common.operators.base.DeltaIterationBase<?,?> iteration)
iteration - The iteration operator that the node represents.public org.apache.flink.api.common.operators.base.DeltaIterationBase<?,?> getIterationContract()
public SolutionSetNode getSolutionSetNode()
public WorksetNode getWorksetNode()
public OptimizerNode getNextWorkset()
public OptimizerNode getSolutionSetDelta()
public void setPartialSolution(SolutionSetNode solutionSetNode, WorksetNode worksetNode)
public void setNextPartialSolution(OptimizerNode solutionSetDelta, OptimizerNode nextWorkset, org.apache.flink.api.common.ExecutionMode executionMode)
public int getCostWeight()
getCostWeight in class OptimizerNodepublic TwoInputNode getSingleRootOfStepFunction()
public org.apache.flink.api.common.operators.util.FieldList getSolutionSetKeyFields()
public OptimizerNode getInitialSolutionSetPredecessorNode()
public OptimizerNode getInitialWorksetPredecessorNode()
public String getOperatorName()
OptimizerNodegetOperatorName in class OptimizerNodepublic org.apache.flink.api.common.operators.SemanticProperties getSemanticProperties()
getSemanticProperties in class TwoInputNodeprotected void readStubAnnotations()
OptimizerNodereadStubAnnotations in class OptimizerNodeprotected void computeOperatorSpecificDefaultEstimates(DataStatistics statistics)
computeOperatorSpecificDefaultEstimates in class OptimizerNodeprotected List<OperatorDescriptorDual> getPossibleProperties()
getPossibleProperties in class TwoInputNodepublic void computeInterestingPropertiesForInputs(CostEstimator estimator)
OptimizerNodecomputeInterestingPropertiesForInputs in class TwoInputNodeestimator - The CostEstimator instance to use for plan cost estimation.public void clearInterestingProperties()
clearInterestingProperties in class OptimizerNodeprotected void instantiate(OperatorDescriptorDual operator, Channel solutionSetIn, Channel worksetIn, List<Set<? extends NamedChannel>> broadcastPlanChannels, List<PlanNode> target, CostEstimator estimator, RequestedGlobalProperties globPropsReqSolutionSet, RequestedGlobalProperties globPropsReqWorkset, RequestedLocalProperties locPropsReqSolutionSet, RequestedLocalProperties locPropsReqWorkset)
instantiate in class TwoInputNodepublic 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 TwoInputNodepublic void acceptForStepFunction(org.apache.flink.util.Visitor<OptimizerNode> visitor)
acceptForStepFunction in interface IterationNodeCopyright © 2014–2021 The Apache Software Foundation. All rights reserved.