Class 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 Detail

      • CostEstimator

        public CostEstimator()
    • 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)
      • addStreamedNestedLoopsCosts

        public abstract void addStreamedNestedLoopsCosts​(EstimateProvider outerSide,
                                                         EstimateProvider innerSide,
                                                         long bufferSize,
                                                         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.