public class HiveAlgorithmsUtil extends Object
Modifier and Type | Method and Description |
---|---|
double |
computeBucketMapJoinCPUCost(com.google.common.collect.ImmutableList<Double> cardinalities,
org.apache.calcite.util.ImmutableBitSet streaming) |
double |
computeBucketMapJoinIOCost(com.google.common.collect.ImmutableList<org.apache.calcite.util.Pair<Double,Double>> relationInfos,
org.apache.calcite.util.ImmutableBitSet streaming,
int parallelism) |
static org.apache.calcite.plan.RelOptCost |
computeCardinalityBasedCost(HiveRelNode hr) |
static double |
computeMapJoinCPUCost(com.google.common.collect.ImmutableList<Double> cardinalities,
org.apache.calcite.util.ImmutableBitSet streaming) |
double |
computeMapJoinIOCost(com.google.common.collect.ImmutableList<org.apache.calcite.util.Pair<Double,Double>> relationInfos,
org.apache.calcite.util.ImmutableBitSet streaming,
int parallelism) |
HiveCost |
computeScanCost(double cardinality,
double avgTupleSize) |
static double |
computeSMBMapJoinCPUCost(com.google.common.collect.ImmutableList<Double> cardinalities) |
double |
computeSMBMapJoinIOCost(com.google.common.collect.ImmutableList<org.apache.calcite.util.Pair<Double,Double>> relationInfos,
org.apache.calcite.util.ImmutableBitSet streaming,
int parallelism) |
double |
computeSortCPUCost(Double cardinality) |
double |
computeSortIOCost(org.apache.calcite.util.Pair<Double,Double> relationInfo) |
double |
computeSortMergeCPUCost(com.google.common.collect.ImmutableList<Double> cardinalities,
org.apache.calcite.util.ImmutableBitSet sorted) |
double |
computeSortMergeIOCost(com.google.common.collect.ImmutableList<org.apache.calcite.util.Pair<Double,Double>> relationInfos) |
static com.google.common.collect.ImmutableList<org.apache.calcite.rel.RelCollation> |
getJoinCollation(HiveCalciteUtil.JoinPredicateInfo joinPredInfo,
HiveJoin.MapJoinStreamingRelation streamingRelation) |
static org.apache.calcite.rel.RelDistribution |
getJoinDistribution(HiveCalciteUtil.JoinPredicateInfo joinPredInfo,
HiveJoin.MapJoinStreamingRelation streamingRelation) |
static Double |
getJoinMemory(HiveJoin join) |
static Double |
getJoinMemory(HiveJoin join,
HiveJoin.MapJoinStreamingRelation streamingSide) |
static org.apache.calcite.rel.RelDistribution |
getJoinRedistribution(HiveCalciteUtil.JoinPredicateInfo joinPredInfo) |
static Integer |
getSplitCountWithoutRepartition(HiveJoin join) |
static Integer |
getSplitCountWithRepartition(HiveJoin join) |
static boolean |
isFittingIntoMemory(Double maxSize,
org.apache.calcite.rel.RelNode input,
int buckets) |
public static org.apache.calcite.plan.RelOptCost computeCardinalityBasedCost(HiveRelNode hr)
public HiveCost computeScanCost(double cardinality, double avgTupleSize)
public double computeSortMergeCPUCost(com.google.common.collect.ImmutableList<Double> cardinalities, org.apache.calcite.util.ImmutableBitSet sorted)
public double computeSortCPUCost(Double cardinality)
public double computeSortMergeIOCost(com.google.common.collect.ImmutableList<org.apache.calcite.util.Pair<Double,Double>> relationInfos)
public double computeSortIOCost(org.apache.calcite.util.Pair<Double,Double> relationInfo)
public static double computeMapJoinCPUCost(com.google.common.collect.ImmutableList<Double> cardinalities, org.apache.calcite.util.ImmutableBitSet streaming)
public double computeMapJoinIOCost(com.google.common.collect.ImmutableList<org.apache.calcite.util.Pair<Double,Double>> relationInfos, org.apache.calcite.util.ImmutableBitSet streaming, int parallelism)
public double computeBucketMapJoinCPUCost(com.google.common.collect.ImmutableList<Double> cardinalities, org.apache.calcite.util.ImmutableBitSet streaming)
public double computeBucketMapJoinIOCost(com.google.common.collect.ImmutableList<org.apache.calcite.util.Pair<Double,Double>> relationInfos, org.apache.calcite.util.ImmutableBitSet streaming, int parallelism)
public static double computeSMBMapJoinCPUCost(com.google.common.collect.ImmutableList<Double> cardinalities)
public double computeSMBMapJoinIOCost(com.google.common.collect.ImmutableList<org.apache.calcite.util.Pair<Double,Double>> relationInfos, org.apache.calcite.util.ImmutableBitSet streaming, int parallelism)
public static boolean isFittingIntoMemory(Double maxSize, org.apache.calcite.rel.RelNode input, int buckets)
public static com.google.common.collect.ImmutableList<org.apache.calcite.rel.RelCollation> getJoinCollation(HiveCalciteUtil.JoinPredicateInfo joinPredInfo, HiveJoin.MapJoinStreamingRelation streamingRelation)
public static org.apache.calcite.rel.RelDistribution getJoinRedistribution(HiveCalciteUtil.JoinPredicateInfo joinPredInfo)
public static org.apache.calcite.rel.RelDistribution getJoinDistribution(HiveCalciteUtil.JoinPredicateInfo joinPredInfo, HiveJoin.MapJoinStreamingRelation streamingRelation)
public static Double getJoinMemory(HiveJoin join, HiveJoin.MapJoinStreamingRelation streamingSide)
Copyright © 2017 The Apache Software Foundation. All rights reserved.