Megosztás a következőn keresztül:


approx_count_distinct összesítő függvény

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

A csoporton belüli különböző értékek expr becsült számát adja vissza.

Az implementáció a HyperLogLog++ (HLL++) algoritmus sűrű verzióját használja, amely a legkiválásibb számosságbecslési algoritmus.

Az eredmények az alapértelmezett 5%-os értéken belül pontosak, ami a maximális relatív szórás értékéből származik, bár ez az relativeSD alábbi paraméterrel konfigurálható.

Syntax

approx_count_distinct(expr[, relativeSD]) [FILTER ( WHERE cond ) ]

Ez a függvény ablakfüggvényként is meghívható a OVER záradék használatával.

Argumentumok

  • expr: Bármilyen típusú lehet, amelyhez az egyenértékűség definiálva van.
  • relativeSD: Az engedélyezett maximális relatív szórást határozza meg.
  • cond: Nem kötelező logikai kifejezés, amely az összesítéshez használt sorokat szűri.

Válaszok

EGY BIGINT.

Példák

> 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