Tous les produits
Search
Centre de documentation

MaxCompute:HLL_COUNT_MERGE_PARTIAL

Dernière mise à jour :Aug 10, 2026

La fonction HLL_COUNT_MERGE_PARTIAL accepte en entrée une ou plusieurs structures de données HLL++ (sketch). Elle fusionne les sketch HLL++ ayant le même type de stockage pour générer un nouveau sketch.

Notes

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

Syntaxe

BINARY HLL_COUNT_MERGE_PARTIAL(BINARY <sketch>)

Paramètres

sketch : obligatoire. Type BINARY. Il s'agit d'un sketch HLL++ généré par la fonction HLL_COUNT_INIT.

  • Chaque sketch doit être initialisé avec le même type. La tentative de fusion de sketches de types différents entraîne une erreur. Par exemple, il est impossible de fusionner des sketches générés à partir de données BIGINT avec ceux issus de données STRING.

  • Si les sketch fusionnés présentent des précisions différentes, la précision finale est rétrogradée au niveau le plus bas parmi ceux combinés. Par exemple, la fusion de sketches dont les précisions sont 14 et 15 renvoie un nouveau sketch avec une précision de 14.

Valeur de retour

Renvoie un nouveau sketch de type BINARY. Si l'entrée est NULL, la fonction renvoie NULL.

Exemples

La requête suivante renvoie un sketch HLL++ qui permet de comptabiliser le nombre d'utilisateurs distincts disposant d'au moins une facture, tous pays confondus.

SELECT HLL_COUNT_MERGE_PARTIAL(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
  );

Résultat retourné :

+--------------------------------------+
| distinct_customers_with_open_invoice |
+--------------------------------------+
| =02=01=0F=00=03=00=00=00=20s=8E=00=F0=8B=DD=00=98_$=03 |
+--------------------------------------+

Fonctions connexes

La fonction HLL_COUNT_MERGE_PARTIAL fait partie des fonctions HyperLogLog++. MaxCompute prend en charge une série de fonctions d'agrégation approximative HyperLogLog++. Pour plus de détails sur les fonctions associées, consultez la page HyperLogLog++ Functions Overview.