- Catégories :
Fonctions d’agrégation (Cardinality Estimation) , Syntaxe et utilisation des fonctions de fenêtre
DATASKETCHES_HLL_COMBINE¶
Combine (fusionne) les esquisses d’entrée en une seule esquisse de sortie.
Cette fonction est une version de la fonction HLL HyperLogLog qui peut lire des esquisses binaires dans le format utilisé par Apache DataSketches. Pour plus d’informations, consultez la documentation Apache DataSketches.
Cette fonction permet des scénarios dans lesquels la fonction DATASKETCHES_HLL_ACCUMULATE est exécutée sur des partitions horizontales de la même table, produisant une esquisse d’algorithme pour chaque partition de la table. Ces esquisses peuvent ensuite être combinées à l’aide de cette fonction, produisant la même sortie qu’une seule exécution de DATASKETCHES_HLL_ACCUMULATE sur la table entière.
- Voir aussi :
Syntaxe¶
DATASKETCHES_HLL_COMBINE( [ DISTINCT ] <state> [ , <max_log_k> ] )
Arguments obligatoires¶
state
Expression contenant des informations d’état générées par un appel à DATASKETCHES_HLL_ACCUMULATE.
Arguments facultatifs¶
max_log_k
La valeur maximale, en log2, de K pour cette union. Spécifiez une valeur INTEGER comprise entre 4 et 21 inclus. Pour plus d’informations, consultez la documentation Apache DataSketches.
Par défaut : 12
Renvoie¶
La fonction renvoie une valeur BINARY compatible avec la bibliothèque Apache Datasketches.
Notes sur l’utilisation¶
DISTINCT est pris en charge syntaxiquement, mais n’a aucun effet.
Exemples¶
Créer une table et insérer des valeurs :
CREATE OR REPLACE TABLE datasketches_demo(v INT, g INT);
INSERT INTO datasketches_demo SELECT 1, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 2, 1;
INSERT INTO datasketches_demo SELECT 1, 2;
INSERT INTO datasketches_demo SELECT 1, 2;
INSERT INTO datasketches_demo SELECT 4, 2;
INSERT INTO datasketches_demo SELECT 4, 2;
INSERT INTO datasketches_demo SELECT 5, 2;
L’exemple ci-dessous effectue les actions suivantes :
La fonction DATASKETCHES_HLL_ACCUMULATE crée deux esquisses binaires pour les données de la colonne
v
, regroupées par les valeurs1
et2
dans la colonneg
.La fonction DATASKETCHES_HLL_COMBINE combine ces esquisses binaires.
WITH
accumulated AS (
SELECT g,
DATASKETCHES_HLL_ACCUMULATE(v) AS accumulated_sketches
FROM datasketches_demo
GROUP BY g)
SELECT DATASKETCHES_HLL_COMBINE(accumulated_sketches) AS combined_sketches
FROM accumulated;
+--------------------------------------------------+
| COMBINED_SKETCHES |
|--------------------------------------------------|
| 0201070C030804002BF2FB06862FF90D81BC5D067B65E608 |
+--------------------------------------------------+
Vous pouvez voir les valeurs des esquisses accumulées dans l’exemple de DATASKETCHES_HLL_ACCUMULATE.