Condividi tramite


hll_sketch_agg funzione di aggregazione

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

Questa funzione usa l'algoritmo HyperLogLog per contare un'approssimazione probabilistica del numero di valori univoci in una determinata colonna e restituisce il risultato come rappresentazione binaria nota come buffer di schizzo. Questa rappresentazione binaria è adatta per la persistenza.

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

Le funzioni hll_union e hll_union_agg possono anche combinare gli schizzi utilizzando e unendo questi buffer come input.

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

Sintassi

hll_sketch_agg ( expr [, lgConfigK ] )

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

Argomenti

  • expr: espressione di tipo INT, BIGINTSTRING, o BINARY in base alla quale si verificherà il conteggio univoco.
  • lgConfigK: costante facoltativa INT compresa tra 4 e 21 inclusi con il valore predefinito 12. Il log-base-2 di K, dove K è il numero di bucket o slot per lo schizzo.

Qualsiasi NULL in expr viene ignorato.

Valori restituiti

NULL BINARY Buffer che contiene lo schizzo HyperLogLog calcolato in seguito all'utilizzo e all'aggregazione di tutti i valori di input nel gruppo di aggregazione.

Esempi

> SELECT hll_sketch_estimate(hll_sketch_agg(col, 12))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3

> SELECT hll_sketch_estimate(hll_sketch_agg(col))
    FROM VALUES (1), (1), (2), (2), (3) tab(col);
  3