APPROX_COUNT_DISTINCT (Lakehouse v1)
Estime le nombre de valeurs distinctes d’un jeu de données avec l’algorithme HyperLogLog.
L’algorithme HyperLogLog fournit une approximation du nombre d’éléments uniques en consommant peu de mémoire et de temps. Envisagez d’utiliser cette fonction avec de grands jeux de données lorsqu’un résultat estimé est acceptable. Au prix d’une certaine précision, c’est une méthode rapide et efficace pour obtenir un nombre de valeurs distinctes.
Pour obtenir un résultat exact, utilisez COUNT_DISTINCT. Consultez les exemples pour plus d’explications.
Syntaxe Analyze
Section intitulée « Syntaxe Analyze »func.approx_count_distinct(<expr>)Exemples Analyze
Section intitulée « Exemples Analyze »func.approx_count_distinct(table.user_id).alias('approx_distinct_user_count')
| approx_distinct_user_count ||----------------------------|| 4 |Syntaxe SQL
Section intitulée « Syntaxe SQL »APPROX_COUNT_DISTINCT(<expr>)Type de retour
Section intitulée « Type de retour »Entier.
Exemples SQL
Section intitulée « Exemples SQL »Créer une table et insérer des données d’exemple
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');Exemple de requête : estimer le nombre d’ID utilisateur distincts
SELECT APPROX_COUNT_DISTINCT(user_id) AS approx_distinct_user_countFROM user_events;Résultat
| approx_distinct_user_count ||----------------------------|| 4 |