public static class HiveRewriteToDataSketchesRules.RankRewriteRule extends HiveRewriteToDataSketchesRules.AbstractRankBasedRewriteRule
rank() over (order by id).
SELECT id, RANK() OVER (ORDER BY id) FROM sketch_input;
⇒ SELECT id, CASE
WHEN ds_kll_n(ds) < (ceil(ds_kll_rank(ds, CAST(id AS FLOAT) )*ds_kll_n(ds))+1)
THEN ds_kll_n(ds)
ELSE (ceil(ds_kll_rank(ds, CAST(id AS FLOAT) )*ds_kll_n(ds))+1)
END
FROM sketch_input JOIN (
SELECT ds_kll_sketch(CAST(id AS FLOAT)) AS ds FROM sketch_input
) q;
HiveRewriteToDataSketchesRules.AbstractRankBasedRewriteRule.AbstractRankBasedRewriteBuilder| Constructor and Description |
|---|
RankRewriteRule(String sketchType) |
| Modifier and Type | Method and Description |
|---|---|
protected HiveRewriteToDataSketchesRules.WindowingToProjectAggregateJoinProject.VbuilderPAP |
buildProcessor(org.apache.calcite.plan.RelOptRuleCall call) |
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unorderedpublic RankRewriteRule(String sketchType)
protected HiveRewriteToDataSketchesRules.WindowingToProjectAggregateJoinProject.VbuilderPAP buildProcessor(org.apache.calcite.plan.RelOptRuleCall call)
Copyright © 2022 The Apache Software Foundation. All rights reserved.