适用于:
Databricks Runtime 18.0 及更高版本
估计整数 KLL 草图中给定值的规范化排名(0.0 到 1.0)。
Syntax
kll_sketch_get_rank_bigint ( sketch, value )
Arguments
-
sketchBINARY:包含序列化整数 KLL 草图的表达式。 -
value:用于查找其排名的BIGINT表达式或ARRAY<BIGINT>值。
退货
- 如果值为
BIGINT:返回一个DOUBLE介于 0.0 和 1.0 之间的值,表示规范化排名。 - 如果值为
ARRAY<BIGINT>:返回ARRAY<DOUBLE>每个值的排名。
注释
- 排名表示草图中小于或等于给定值的值的分数。
- 如果所有草图值都大于输入值,则返回 0.0。
- 如果所有草图值都小于或等于输入值,则返回 1.0。
例子
-- Find what percentile a value falls into
> WITH sketch_data AS (
SELECT kll_sketch_agg_bigint(value) AS sketch
FROM VALUES (1), (2), (3), (4), (5) AS T(value)
)
SELECT kll_sketch_get_rank_bigint(sketch, 3) FROM sketch_data
0.6
-- Check ranks for multiple values
> WITH sketch_data AS (
SELECT kll_sketch_agg_bigint(value) AS sketch
FROM VALUES (10), (20), (30), (40), (50) AS T(value)
)
SELECT kll_sketch_get_rank_bigint(sketch, array(15, 25, 35)) FROM sketch_data
[0.2, 0.4, 0.6]
-- SLA compliance: what fraction of requests are under threshold
> WITH sketch_data AS (
SELECT kll_sketch_agg_bigint(response_time_ms) AS sketch FROM requests
)
SELECT kll_sketch_get_rank_bigint(sketch, 100) AS under_100ms_fraction FROM sketch_data
0.87