approx_count_distinct
mängdfunktion
Gäller för: Databricks Databricks Runtime
Returnerar det uppskattade antalet distinkta värden i expr
gruppen.
Implementeringen använder den kompakta versionen av algoritmen HyperLogLog++ (HLL++), en toppmodern kardinalitetsberäkningsalgoritm.
Resultaten är korrekta inom ett standardvärde på 5 %, vilket härleds från värdet för den maximala relativa standardavvikelsen, även om detta kan konfigureras med parametern relativeSD
enligt nedan.
Syntax
approx_count_distinct(expr[, relativeSD]) [FILTER ( WHERE cond ) ]
Den här funktionen kan också anropas som en fönsterfunktion med hjälp av - OVER
satsen.
Argument
expr
: Kan vara av vilken typ som helst för vilken likvärdighet som definieras.relativeSD
: Definierar den maximala relativa standardavvikelsen som tillåts.cond
: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.
Returnerar
EN BIGINT.
Exempel
> SELECT approx_count_distinct(col1) FROM VALUES (1), (1), (2), (2), (3) tab(col1);
3
> SELECT approx_count_distinct(col1) FILTER(WHERE col2 = 10)
FROM VALUES (1, 10), (1, 10), (2, 10), (2, 10), (3, 10), (1, 12) AS tab(col1, col2);
3