hll_sketch_agg
funzione di aggregazione
Si applica a: Databricks SQL
Databricks Runtime 13.3 LTS e versioni successive
Questa funzione utilizza 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 finestra usando la clausola OVER
.
Argomenti
-
expr
: espressione di tipoINT
,BIGINT
STRING
, oBINARY
in base alla quale si verificherà il conteggio univoco. -
lgConfigK
: costante facoltativaINT
compresa tra 4 e 21 inclusi con il valore predefinito 12. Il logaritmo in base 2 di K, dove K è il numero di bucket o slot per lo schema.
Qualsiasi NULL
in expr
viene ignorato.
Valori restituiti
Buffer nonNULL
BINARY
contenente lo schizzo HyperLogLog calcolato a seguito del consumo e dell'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