共用方式為


kll_sketch_get_quantile_bigint 函數

適用於:勾選是 Databricks 執行環境 18.0 及以後版本

從整數 KLL 草圖估計給定分位數秩(或多重秩)的值。

語法

kll_sketch_get_quantile_bigint ( sketch, rank )

Arguments

  • sketch:包含 BINARY 序列化整數 KLL 草圖的表達式。
  • rankDOUBLE 分位數的表達式 或 ARRAY<DOUBLE> 秩介於 0.0 到 1.0 之間,其中:
    • 0.0 是最小值,
    • 0.5 是中位數,且
    • 1.0是最大值。

退貨

  • 若秩為 DOUBLE:會傳回一個 BIGINT 的值,該值代表估計分位數。
  • 若秩為 ARRAY<DOUBLE>:返回 ARRAY<BIGINT> 每個秩的分位數估計值。

註釋

  • 排名必須介於0.0至1.0之間。
  • 若草圖為空,則返回 NULL
  • 常見分位數:0.25(Q1)、0.5(中位數)、0.75(Q3)、0.95(P95)、0.99(P99)。

範例

-- Get median from a sketch
> 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_quantile_bigint(sketch, 0.5) FROM sketch_data
  3
-- Get multiple quantiles (Q1, median, Q3)
> 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_quantile_bigint(sketch, array(0.25, 0.5, 0.75)) FROM sketch_data
  [2, 3, 4]
-- Get P95 and P99 for latency monitoring
> WITH sketch_data AS (
    SELECT kll_sketch_agg_bigint(latency_ms) AS sketch FROM latency_table
  )
  SELECT kll_sketch_get_quantile_bigint(sketch, array(0.95, 0.99)) FROM sketch_data
  [145, 234]