public class DagConnection extends Object implements EstimateProvider, DumpableConnection<OptimizerNode>
The data exchange has a mode in which it performs (batch / pipelined).
The data exchange strategy may be set on this connection, in which case it is fixed and will not be determined during candidate plan enumeration.
During the enumeration of interesting properties, this connection also holds all interesting properties generated by the successor operator.
Constructor and Description |
---|
DagConnection(OptimizerNode source,
ExecutionMode exchangeMode)
Constructor to create a result from an operator that is not consumed by another operator.
|
DagConnection(OptimizerNode source,
OptimizerNode target,
ExecutionMode exchangeMode)
Creates a new Connection between two nodes.
|
DagConnection(OptimizerNode source,
OptimizerNode target,
ShipStrategyType shipStrategy,
ExecutionMode exchangeMode)
Creates a new Connection between two nodes.
|
Modifier and Type | Method and Description |
---|---|
void |
clearInterestingProperties() |
int |
getCostWeight() |
ExecutionMode |
getDataExchangeMode()
Gets the data exchange mode to use for this connection.
|
float |
getEstimatedAvgWidthPerOutputRecord()
Gets the estimated number of bytes per record.
|
long |
getEstimatedNumRecords()
Gets the estimated number of records in the output of this node.
|
long |
getEstimatedOutputSize()
Gets the estimated output size from this node.
|
InterestingProperties |
getInterestingProperties()
Gets the interesting properties object for this pact connection.
|
TempMode |
getMaterializationMode() |
int |
getMaxDepth() |
ShipStrategyType |
getShipStrategy()
Gets the shipping strategy for this connection.
|
OptimizerNode |
getSource()
Gets the source of the connection.
|
OptimizerNode |
getTarget()
Gets the target of the connection.
|
void |
initMaxDepth() |
boolean |
isBreakingPipeline()
Checks whether this connection is marked to break the pipeline.
|
boolean |
isOnDynamicPath() |
void |
markBreaksPipeline()
Marks that this connection should do a decoupled data exchange (such as batched) rather then
pipeline data.
|
void |
setInterestingProperties(InterestingProperties props)
Sets the interesting properties for this pact connection.
|
void |
setMaterializationMode(TempMode materializationMode) |
void |
setShipStrategy(ShipStrategyType strategy)
Sets the shipping strategy for this connection.
|
String |
toString() |
public DagConnection(OptimizerNode source, OptimizerNode target, ExecutionMode exchangeMode)
source
- The source node.target
- The target node.exchangeMode
- The data exchange mode (pipelined / batch / batch only for shuffles / ...
)public DagConnection(OptimizerNode source, OptimizerNode target, ShipStrategyType shipStrategy, ExecutionMode exchangeMode)
source
- The source node.target
- The target node.shipStrategy
- The shipping strategy.exchangeMode
- The data exchange mode (pipelined / batch / batch only for shuffles / ...
)public DagConnection(OptimizerNode source, ExecutionMode exchangeMode)
source
- The source node.exchangeMode
- The data exchange mode (pipelined / batch / batch only for shuffles / ...
)public OptimizerNode getSource()
getSource
in interface DumpableConnection<OptimizerNode>
public OptimizerNode getTarget()
public ShipStrategyType getShipStrategy()
getShipStrategy
in interface DumpableConnection<OptimizerNode>
public void setShipStrategy(ShipStrategyType strategy)
strategy
- The shipping strategy to be applied to this connection.public ExecutionMode getDataExchangeMode()
public void markBreaksPipeline()
public boolean isBreakingPipeline()
public InterestingProperties getInterestingProperties()
public void setInterestingProperties(InterestingProperties props)
props
- The interesting properties.public void clearInterestingProperties()
public void initMaxDepth()
public int getMaxDepth()
public long getEstimatedOutputSize()
EstimateProvider
getEstimatedOutputSize
in interface EstimateProvider
public long getEstimatedNumRecords()
EstimateProvider
getEstimatedNumRecords
in interface EstimateProvider
public float getEstimatedAvgWidthPerOutputRecord()
EstimateProvider
getEstimatedAvgWidthPerOutputRecord
in interface EstimateProvider
public TempMode getMaterializationMode()
public void setMaterializationMode(TempMode materializationMode)
public boolean isOnDynamicPath()
public int getCostWeight()
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.