Package org.apache.flink.optimizer.costs
Class CostEstimator
- java.lang.Object
-
- org.apache.flink.optimizer.costs.CostEstimator
-
- Direct Known Subclasses:
DefaultCostEstimator
public abstract class CostEstimator extends Object
Abstract base class for a cost estimator. Defines cost estimation methods and implements the basic work method that computes the cost of an operator by adding input shipping cost, input local cost, and driver cost.
-
-
Constructor Summary
Constructors Constructor Description CostEstimator()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidaddArtificialDamCost(EstimateProvider estimates, long bufferSize, Costs costs)abstract voidaddBlockNestedLoopsCosts(EstimateProvider outerSide, EstimateProvider innerSide, long blockSize, Costs costs, int costWeight)abstract voidaddBroadcastCost(EstimateProvider estimates, int replicationFactor, Costs costs)abstract voidaddCachedHybridHashCosts(EstimateProvider buildSide, EstimateProvider probeSide, Costs costs, int costWeight)abstract voidaddFileInputCost(long fileSizeInBytes, Costs costs)abstract voidaddHashPartitioningCost(EstimateProvider estimates, Costs costs)abstract voidaddHybridHashCosts(EstimateProvider buildSide, EstimateProvider probeSide, Costs costs, int costWeight)abstract voidaddLocalMergeCost(EstimateProvider estimates1, EstimateProvider estimates2, Costs costs, int costWeight)abstract voidaddLocalSortCost(EstimateProvider estimates, Costs costs)abstract voidaddRandomPartitioningCost(EstimateProvider estimates, Costs costs)abstract voidaddRangePartitionCost(EstimateProvider estimates, Costs costs)abstract voidaddStreamedNestedLoopsCosts(EstimateProvider outerSide, EstimateProvider innerSide, long bufferSize, Costs costs, int costWeight)voidcostOperator(PlanNode n)This method computes the cost of an operator.
-
-
-
Method Detail
-
addRandomPartitioningCost
public abstract void addRandomPartitioningCost(EstimateProvider estimates, Costs costs)
-
addHashPartitioningCost
public abstract void addHashPartitioningCost(EstimateProvider estimates, Costs costs)
-
addRangePartitionCost
public abstract void addRangePartitionCost(EstimateProvider estimates, Costs costs)
-
addBroadcastCost
public abstract void addBroadcastCost(EstimateProvider estimates, int replicationFactor, Costs costs)
-
addFileInputCost
public abstract void addFileInputCost(long fileSizeInBytes, Costs costs)
-
addLocalSortCost
public abstract void addLocalSortCost(EstimateProvider estimates, Costs costs)
-
addLocalMergeCost
public abstract void addLocalMergeCost(EstimateProvider estimates1, EstimateProvider estimates2, Costs costs, int costWeight)
-
addHybridHashCosts
public abstract void addHybridHashCosts(EstimateProvider buildSide, EstimateProvider probeSide, Costs costs, int costWeight)
-
addCachedHybridHashCosts
public abstract void addCachedHybridHashCosts(EstimateProvider buildSide, EstimateProvider probeSide, Costs costs, int costWeight)
-
addStreamedNestedLoopsCosts
public abstract void addStreamedNestedLoopsCosts(EstimateProvider outerSide, EstimateProvider innerSide, long bufferSize, Costs costs, int costWeight)
-
addBlockNestedLoopsCosts
public abstract void addBlockNestedLoopsCosts(EstimateProvider outerSide, EstimateProvider innerSide, long blockSize, Costs costs, int costWeight)
-
addArtificialDamCost
public abstract void addArtificialDamCost(EstimateProvider estimates, long bufferSize, Costs costs)
-
costOperator
public void costOperator(PlanNode n)
This method computes the cost of an operator. The cost is composed of cost for input shipping, locally processing an input, and running the operator.It requires at least that all inputs are set and have a proper ship strategy set, which is not equal to NONE.
- Parameters:
n- The node to compute the costs for.
-
-