Tous les produits
Search
Centre de documentation

MaxCompute:HLL_COUNT_MERGE

Dernière mise à jour :Sep 17, 2026

La fonction HLL_COUNT_MERGE accepte une ou plusieurs structures de données HLL++ (sketches), fusionne les sketches de même classe de stockage en un nouveau sketch et renvoie l'estimation de la cardinalité du sketch résultant.

Notes

HLL_COUNT_EXTRACT/HLL_COUNT_MERGE/HLL_COUNT_MERGE_PARTIAL Les données BINARY utilisées par ces fonctions doivent provenir de la fonction HLL_COUNT_INIT ; elles ne peuvent pas provenir d'autres systèmes ou méthodes.

Syntaxe

BIGINT HLL_COUNT_MERGE(BINARY <sketch>)

Paramètres

sketch : Obligatoire. Sketch HLL++, valeur BINARY générée par la fonction HLL_COUNT_INIT.

  • Si sketch est nul, il est ignoré.

  • Toutes les valeurs sketch en entrée doivent être initialisées avec le même type de données. Une erreur survient lors de la fusion de sketches de types de données différents. Par exemple, vous ne pouvez pas fusionner un sketch généré à partir de données BIGINT avec un sketch généré à partir de données STRING.

Valeur de retour

Renvoie la cardinalité estimée sous forme de valeur BIGINT. Si le sketch fusionné est nul, la fonction renvoie 0.

Exemple

Comptez le nombre de clients uniques possédant au moins une facture, tous pays confondus.

SELECT HLL_COUNT_MERGE(hll_sketch) AS distinct_customers_with_open_invoice
FROM
  (
    SELECT country, HLL_COUNT_INIT(customer_id) AS hll_sketch
    FROM values
      ('UA', 'customer_id_1', 'invoice_id_11'),
      ('BR', 'customer_id_3', 'invoice_id_31'),
      ('CZ', 'customer_id_2', 'invoice_id_22'),
      ('CZ', 'customer_id_2', 'invoice_id_23'),
      ('BR', 'customer_id_3', 'invoice_id_31'),
      ('UA', 'customer_id_2', 'invoice_id_24')
    t(country, customer_id, invoice_id)
    GROUP BY country
  );

Le résultat suivant s'affiche :

+--------------------------------------+
| distinct_customers_with_open_invoice |
+--------------------------------------+
| 3                                    |
+--------------------------------------+

Fonctions associées

HLL_COUNT_MERGE est une fonction HyperLogLog++. MaxCompute propose une série de fonctions HyperLogLog++ pour l'agrégation approximative. Pour plus d'informations, consultez la page Présentation des fonctions HyperLogLog++.