Delen via


kll_sketch_get_rank_bigint functie

Van toepassing op:aangevinkt ja Databricks Runtime 18.0 en hoger

Maakt een schatting van de genormaliseerde rang (0,0 tot 1,0) van een bepaalde waarde in een geheel getal KLL-schets.

Syntaxis

kll_sketch_get_rank_bigint ( sketch, value )

Arguments

  • sketch: Een BINARY uitdrukking bevat een geserialiseerde integer KLL-schets.
  • value: Een BIGINT expressie of ARRAY<BIGINT> van waarden om rangschikkingen voor te vinden.

Retouren

  • Als de waarde is BIGINT: retourneert een DOUBLE waarde tussen 0,0 en 1,0 die de genormaliseerde rang vertegenwoordigt.
  • Als waarde is ARRAY<BIGINT>: retourneert ARRAY<DOUBLE> met rangschikkingen voor elke waarde.

Opmerkingen

  • De rang vertegenwoordigt het deel van de waarden in de schets die kleiner is dan of gelijk is aan de opgegeven waarde.
  • Retourneert 0,0 als alle schetswaarden groter zijn dan de invoerwaarde.
  • Retourneert 1,0 als alle schetswaarden kleiner zijn dan of gelijk zijn aan de invoerwaarde.

Algemene foutvoorwaarden

Voorbeelden

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