Condividi tramite


Funzione hll_union_agg

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 un gruppo di schizzi in un unico.

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

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

Sintassi

hll_union_agg ( expr [, allowDifferentLgConfigK ] )

Questa funzione può anche essere richiamata come funzione window usando la OVER clausola .

Argomenti

  • exprBINARY: espressione che contiene uno schizzo generato da hll_sketch_agg.
  • allowDifferentLgConfigK: espressione costante facoltativa BOOLEAN che controlla se consentire l'unione di 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 dello stesso gruppo.

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_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