funktion kll_sketch_get_rank_bigint

Gäller för:markerat med ja Databricks Runtime 18.0 och senare

Beräknar den normaliserade rangordningen (0,0 till 1,0) av ett givet värde i en heltals-KLL-skiss.

Syntax

kll_sketch_get_rank_bigint ( sketch, value )

Arguments

  • sketch: Ett BINARY uttryck som innehåller en serialiserad heltals-KLL-skiss.
  • value: Ett BIGINT uttryck eller ARRAY<BIGINT> värden att hitta rangordningar för.

Retur

  • Om värdet är BIGINT: returnerar en DOUBLE mellan 0,0 och 1,0 som representerar den normaliserade rangordningen.
  • Om värdet är ARRAY<BIGINT>: returnerar ARRAY<DOUBLE> med rangordningar för varje värde.

Noteringar

  • Rangordningen representerar fraktionen av värden i skissen som är mindre än eller lika med det angivna värdet.
  • Returnerar 0,0 om alla skissvärden är större än indatavärdet.
  • Returnerar 1.0 om alla skissvärden är mindre än eller lika med indatavärdet.

Vanliga felvillkor

Examples

-- 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