適用対象:
Databricks Runtime 18.0 以降
指定された分位点ランク (または複数のランク) の値を、整数の KLL スケッチから推定します。
構文
kll_sketch_get_quantile_bigint ( sketch, rank )
論争
-
sketch: シリアル化された整数 KLL スケッチを含むBINARY式。 -
rank: 分位順位が 0.0 から 1.0 までのDOUBLE式またはARRAY<DOUBLE>です。- 0.0 は最小値です。
- 0.5 は中央値であり、
- 1.0 が最大値です。
返品ポリシー
- rank が
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]