hll_union_agg
Fonction d'agrégation : renvoie la représentation binaire actualisable du Datasketches HllSketch, générée en fusionnant les instances Datasketches HllSketch créées précédemment via une instance Datasketches Union. Génère une exception si les esquisses ont des valeurs lgConfigK différentes et que allowDifferentLgConfigK n'est pas défini ou est défini sur false.
Syntaxe
from pyspark.sql import functions as sf
sf.hll_union_agg(col, allowDifferentLgConfigK=None)
parameter
parameter | Type | Description |
|---|---|---|
|
| La colonne contenant les croquis HLL à Merge. |
|
| Autoriser la Merge d'esquisses avec différentes valeurs lgConfigK (default : false). |
Renvoie
pyspark.sql.Column: La représentation binaire du HllSketch Merge.
Exemples
Exemple 1 : Merge de HLL sketches avec les paramètres par default
from pyspark.sql import functions as sf
df1 = spark.createDataFrame([1,2,2,3], "INT")
df1 = df1.agg(sf.hll_sketch_agg("value").alias("sketch"))
df2 = spark.createDataFrame([4,5,5,6], "INT")
df2 = df2.agg(sf.hll_sketch_agg("value").alias("sketch"))
df3 = df1.union(df2)
df3.agg(sf.hll_sketch_estimate(sf.hll_union_agg("sketch"))).show()
+-------------------------------------------------+
|hll_sketch_estimate(hll_union_agg(sketch, false))|
+-------------------------------------------------+
| 6|
+-------------------------------------------------+
Exemple 2 : Merge des esquisses HLL avec allowDifferentLgConfigK explicite
from pyspark.sql import functions as sf
df1 = spark.createDataFrame([1,2,2,3], "INT")
df1 = df1.agg(sf.hll_sketch_agg("value").alias("sketch"))
df2 = spark.createDataFrame([4,5,5,6], "INT")
df2 = df2.agg(sf.hll_sketch_agg("value").alias("sketch"))
df3 = df1.union(df2)
df3.agg(sf.hll_sketch_estimate(sf.hll_union_agg("sketch", False))).show()
+-------------------------------------------------+
|hll_sketch_estimate(hll_union_agg(sketch, false))|
+-------------------------------------------------+
| 6|
+-------------------------------------------------+