Dela via


Funktionen hll_union

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 två skisser till en enda skiss.

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

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

Syntax

hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )

Argument

  • exprN: Ett BINARY uttryck som innehåller en skiss som genererats av hll_sketch_agg.
  • allowDifferentLgConfigK: Ett valfritt BOOLEAN uttryck som styr om två skisser ska kunna sammanfogas 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.

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(
    hll_sketch_agg(col1),
    hll_sketch_agg(col2)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  6

> SELECT hll_sketch_estimate(
  hll_union(
    hll_sketch_agg(col1,  4),
    hll_sketch_agg(col2, 21)))
  FROM VALUES
    (1, 4),
    (1, 4),
    (2, 5),
    (2, 5),
    (3, 6) AS tab(col1, col2);
  error