kll_sketch_get_rank_bigint 函数

适用于:勾选为是 Databricks Runtime 18.0 及更高版本

估计整数 KLL 草图中给定值的规范化排名(0.0 到 1.0)。

Syntax

kll_sketch_get_rank_bigint ( sketch, value )

Arguments

  • sketch BINARY:包含序列化整数 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