Dela via


hll_sketch_agg mängdfunktion

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 13.3 LTS och senare

Den här funktionen använder algoritmen HyperLogLog för att räkna en probabilistisk uppskattning av antalet unika värden i en viss kolumn och utdata resultatet som en binär representation som kallas en skissbuffert. Den här binära representationen är lämplig för beständighet.

Frågor kan använda de resulterande buffertarna för att beräkna ungefärliga unika antal med funktionen hll_sketch_estimate .

Funktionerna hll_union och hll_union_agg kan också kombinera skisser genom att använda och sammanfoga dessa buffertar som indata.

Implementeringen använder Apache Datasketches-biblioteket. Mer information finns i HLL .

Syntax

hll_sketch_agg ( expr [, lgConfigK ] )

Den här funktionen kan också anropas som en -fönsterfunktion med hjälp av OVER-satsen.

Argument

  • expr: Ett uttryck av typen INT, BIGINT, STRINGeller BINARY mot vilket unik räkning kommer att ske.
  • lgConfigK: En valfri INT konstant mellan 4 och 21 inklusive med standardvärdet 12. Log-base-2 av K, där K är antalet bucketar eller fack för skissen.

Alla NULL i expr ignoreras.

Returer

En icke-NULLBINARY-buffert som innehåller HyperLogLog-skissen, beräknad som ett resultat av att konsumera och aggrega alla indatavärden i aggregeringsgruppen.

Exempel

> SELECT hll_sketch_estimate(hll_sketch_agg(col, 12))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3

> SELECT hll_sketch_estimate(hll_sketch_agg(col))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3