Aller au contenu principal

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

Python
from pyspark.sql import functions as sf

sf.count_min_sketch(col, eps, confidence, seed=None)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Colonne cible sur laquelle effectuer le calcul.

eps

pyspark.sql.Column ou flottant

Erreur relative, doit être positive.

confidence

pyspark.sql.Column ou flottant

Confiance, doit être positive et inférieure à 1,0.

seed

pyspark.sql.Column ou int, facultatif

Graine aléatoire.

parameter

Type

Description

col

pyspark.sql.Column ou str

Colonne cible sur laquelle effectuer le calcul.

eps

pyspark.sql.Column ou flottant

Erreur relative, doit être positive.

confidence

pyspark.sql.Column ou flottant

Confiance, doit être positive et inférieure à 1,0.

seed

pyspark.sql.Column ou int, facultatif

Graine aléatoire.

Renvoie

pyspark.sql.Column: schéma de comptage-min de la colonne

Exemples

Exemple 1 : Utilisation des colonnes comme arguments

Python
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)
Output
+------------------------------------------------------------------------+
|hex(count_min_sketch(id, 3.0, 0.1, 1)) |
+------------------------------------------------------------------------+
|0000000100000000000000640000000100000001000000005D8D6AB90000000000000064|
+------------------------------------------------------------------------+

Exemple 2 : Utilisation de nombres comme arguments

Python
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)
Output
+----------------------------------------------------------------------------------------+
|hex(count_min_sketch(id, 1.0, 0.3, 2)) |
+----------------------------------------------------------------------------------------+
|0000000100000000000000640000000100000002000000005D96391C00000000000000320000000000000032|
+----------------------------------------------------------------------------------------+

**Exemple 3** : Utilisation d'une longue valeur d'amorçage

Python
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)
Output
+----------------------------------------------------------------------------------------+
|hex(count_min_sketch(id, 1.5, 0.2, 1111111111111111111)) |
+----------------------------------------------------------------------------------------+
|00000001000000000000006400000001000000020000000044078BA100000000000000320000000000000032|
+----------------------------------------------------------------------------------------+