Pular para o conteúdo principal

contagem_min_esboço

Retorna um esboço de contagem mínima de uma coluna com o valor de esp, confiança e semente fornecidos. O resultado é uma matriz de bytes, que pode ser desserializada para CountMinSketch antes do uso. O esboço Count-min é uma estrutura de dados probabilística usada para estimativa de cardinalidade em espaço sublinear.

Sintaxe

Python
from pyspark.sql import functions as sf

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

Parâmetros

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

coluna de destino para compute .

eps

pyspark.sql.Column ou flutuar

O erro relativo deve ser positivo.

confidence

pyspark.sql.Column ou flutuar

A confiança deve ser positiva e inferior a 1,0.

seed

pyspark.sql.Column ou int, opcional

Semente aleatória.

Devoluções

pyspark.sql.Column: esboço de contagem mínima da coluna

Exemplos

Exemplo 1 : Usando colunas como argumentos

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|
+------------------------------------------------------------------------+

Exemplo 2 : Usando números como argumentos

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|
+----------------------------------------------------------------------------------------+

Exemplo 3 : Usando uma semente longa

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|
+----------------------------------------------------------------------------------------+