Funktionen hll_union_agg

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

Den här funktionen använder HyperLogLog-algoritmen för att kombinera en grupp skisser till en enda.

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

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

Syntax

hll_union_agg ( expr [, allowDifferentLgConfigK ] )

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

Argument

  • expr: Ett BINARY uttryck som innehåller en skiss som genererats av hll_sketch_agg.
  • allowDifferentLgConfigK: Ett valfritt BOOLEAN konstant uttryck som styr om du vill tillåta sammanslagning av skisser med olika lgConfigK-värden. Standardvärdet är "false".

Returer

En BINARY buffert som innehåller HyperLogLog-skissen som beräknas som ett resultat av att kombinera indatauttrycken i samma grupp.

När parametern allowDifferentLgConfigK är sann använder resultatskissen det mindre av de två angivna lgConfigK värdena.

Exempel

> SELECT hll_sketch_estimate(hll_union_agg(sketch, true))
    FROM (SELECT hll_sketch_agg(col) as sketch
            FROM VALUES (1) AS tab(col)
          UNION ALL
          SELECT hll_sketch_agg(col, 20) as sketch
            FROM VALUES (1) AS tab(col));
  1

> SELECT hll_sketch_estimate(hll_union_agg(sketch, false))
    FROM (SELECT hll_sketch_agg(col) as sketch
            FROM VALUES (1) AS tab(col)
          UNION ALL
          SELECT hll_sketch_agg(col, 20) as sketch
            FROM VALUES (1) AS tab(col));
  error