hll_sketch_agg
(función de agregado)
Se aplica a: Databricks SQL Databricks Runtime 13.3 LTS y versiones posteriores
Esta función utiliza el algoritmo HyperLogLog para contar una aproximación probabilística del número de valores únicos en una columna determinada y genera el resultado como una representación binaria conocida como búfer de croquis. Esta representación binaria es adecuada para la persistencia.
Las consultas pueden usar los búferes resultantes para calcular recuentos únicos aproximados con la función hll_sketch_estimate.
Las funciones hll_union y hll_union_agg también pueden combinar bocetos mediante el consumo y combinación de estos búferes como entradas.
La implementación usa la Biblioteca Apache Datasketches. Para obtener más información, consulte HLL.
Sintaxis
hll_sketch_agg ( expr [, lgConfigK ] )
Esta función también se puede invocar como una función de ventana mediante la cláusula OVER
.
Argumentos
expr
: expresión de tipoINT
,BIGINT
,STRING
o conBINARY
la que se producirá un recuento único.lgConfigK
: una constante opcionalINT
entre 4 y 21 inclusive con el valor predeterminado 12. El log-base-2 de K, donde K es el número de cubos o ranuras para el croquis.
Cualquier NULL
en expr
se omite.
Devoluciones
Un búferNULL
BINARY
que no contiene el boceto de HyperLogLog calculado como resultado de consumir y agregar todos los valores de entrada del grupo de agregación.
Ejemplos
> 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