hll_union_agg-functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 13.3 LTS en hoger

Deze functie maakt gebruik van het HyperLogLog-algoritme om een groep schetsen te combineren tot één.

Query's kunnen de resulterende buffers gebruiken om geschatte unieke aantallen te berekenen met de functie hll_sketch_estimate .

De implementatie maakt gebruik van de Apache Datasketches-bibliotheek. Zie HLL voor meer informatie.

Syntaxis

hll_union_agg ( expr [, allowDifferentLgConfigK ] )

Deze functie kan ook worden aangeroepen als een vensterfunctie met behulp van de OVER component.

Argumenten

  • expr: Een BINARY expressie met een schets die wordt gegenereerd door hll_sketch_agg.
  • allowDifferentLgConfigK: Een optionele BOOLEAN constante expressie die bepaalt of het samenvoegen van schetsen met verschillende lgConfigK-waarden is toegestaan. De standaardwaarde is false.

Retouren

Een BINARY buffer met de HyperLogLog-schets die is berekend als gevolg van het combineren van de invoerexpressies van dezelfde groep.

Wanneer de allowDifferentLgConfigK parameter waar is, gebruikt de resultaatschets de kleinere van de twee opgegeven lgConfigK waarden.

Voorbeelden

> 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