count_min_sketch
Retourne un count-min sketch d'une colonne avec les esp, confiance et seed donnés. Le résultat est un tableau d'octets, qui peut être désérialisé en CountMinSketch avant utilisation. Le sketch Count-min est une structure de données probabiliste utilisée pour l'estimation de cardinalité utilisant un espace sous-linéaire.
Syntaxe
from pyspark.sql import functions as sf
sf.count_min_sketch(col, eps, confidence, seed=None)
parameter
parameter | Type | Description |
|---|---|---|
|
| Colonne cible sur laquelle effectuer le calcul. |
|
| Erreur relative, doit être positive. |
|
| Confiance, doit être positive et inférieure à 1,0. |
|
| Graine aléatoire. |
Renvoie
pyspark.sql.Column: schéma de comptage-min de la colonne
Exemples
Exemple 1 : Utilisation des colonnes comme arguments
from pyspark.sql import functions as sf
spark.range(100).select(
sf.hex(sf.count_min_sketch(sf.col("id"), sf.lit(3.0), sf.lit(0.1), sf.lit(1)))
).show(truncate=False)
+------------------------------------------------------------------------+
|hex(count_min_sketch(id, 3.0, 0.1, 1)) |
+------------------------------------------------------------------------+
|0000000100000000000000640000000100000001000000005D8D6AB90000000000000064|
+------------------------------------------------------------------------+
Exemple 2 : Utilisation de nombres comme arguments
from pyspark.sql import functions as sf
spark.range(100).select(
sf.hex(sf.count_min_sketch("id", 1.0, 0.3, 2))
).show(truncate=False)
+----------------------------------------------------------------------------------------+
|hex(count_min_sketch(id, 1.0, 0.3, 2)) |
+----------------------------------------------------------------------------------------+
|0000000100000000000000640000000100000002000000005D96391C00000000000000320000000000000032|
+----------------------------------------------------------------------------------------+
**Exemple 3** : Utilisation d'une longue valeur d'amorçage
from pyspark.sql import functions as sf
spark.range(100).select(
sf.hex(sf.count_min_sketch("id", sf.lit(1.5), 0.2, 1111111111111111111))
).show(truncate=False)
+----------------------------------------------------------------------------------------+
|hex(count_min_sketch(id, 1.5, 0.2, 1111111111111111111)) |
+----------------------------------------------------------------------------------------+
|00000001000000000000006400000001000000020000000044078BA100000000000000320000000000000032|
+----------------------------------------------------------------------------------------+