Share via


Funzione hll_union

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

Questa funzione utilizza l'algoritmo HyperLogLog per combinare due schizzi in un singolo schizzo.

Le query possono usare i buffer risultanti per calcolare conteggi univoci approssimativi come numeri interi lunghi con la funzione hll_sketch_estimate .

L'implementazione usa la libreria Apache Datasketches. Per altre informazioni, vedere HLL .

Sintassi

hll_union ( expr1, expr2 [, allowDifferentLgConfigK ] )

Argomenti

  • exprNBINARY: espressione che contiene uno schizzo generato da hll_sketch_agg.
  • allowDifferentLgConfigK: espressione facoltativa BOOLEAN che controlla se consentire l'unione di due schizzi con valori lgConfigK diversi. Il valore predefinito è false.

Valori restituiti

Buffer BINARY contenente lo schizzo HyperLogLog calcolato in seguito alla combinazione delle espressioni di input.

Quando il allowDifferentLgConfigK parametro è true, lo schizzo del risultato usa il più piccolo dei due valori specificati lgConfigK .

Esempi

> 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