APPROX_COUNT_DISTINCT (Lakehouse v1)
Estima el número de valores distintos de un conjunto de datos con el algoritmo HyperLogLog.
El algoritmo HyperLogLog proporciona una aproximación del número de elementos únicos con poca memoria y poco tiempo. Considere usar esta función con conjuntos de datos grandes cuando se pueda aceptar un resultado estimado. A cambio de cierta precisión, es un método rápido y eficiente para obtener recuentos distintos.
Para obtener un resultado exacto, use COUNT_DISTINCT. Consulte los ejemplos para obtener más explicaciones.
Sintaxis de Analyze
Sección titulada «Sintaxis de Analyze»func.approx_count_distinct(<expr>)Ejemplos de Analyze
Sección titulada «Ejemplos de Analyze»func.approx_count_distinct(table.user_id).alias('approx_distinct_user_count')
| approx_distinct_user_count ||----------------------------|| 4 |Sintaxis de SQL
Sección titulada «Sintaxis de SQL»APPROX_COUNT_DISTINCT(<expr>)Tipo de valor devuelto
Sección titulada «Tipo de valor devuelto»Entero.
Ejemplos de SQL
Sección titulada «Ejemplos de SQL»Cree una tabla e inserte datos de ejemplo
CREATE TABLE user_events ( id INT, user_id INT, event_name VARCHAR);
INSERT INTO user_events (id, user_id, event_name)VALUES (1, 1, 'Login'), (2, 2, 'Login'), (3, 3, 'Login'), (4, 1, 'Logout'), (5, 2, 'Logout'), (6, 4, 'Login'), (7, 1, 'Login');Consulta de demostración: estimar el número de ID de usuario distintos
SELECT APPROX_COUNT_DISTINCT(user_id) AS approx_distinct_user_countFROM user_events;Resultado
| approx_distinct_user_count ||----------------------------|| 4 |