Pular para o conteúdo principal

hell_union_agg

Função agregada: retorna a representação binária atualizável do Datasketches HllSketch, gerada pela fusão de instâncias Datasketches HllSketch criadas anteriormente por meio de uma instância Datasketches Union. Lança uma exceção se os esboços tiverem valores lgConfigK diferentes e allowDifferentLgConfigK não estiver definido ou estiver definido como falso.

Sintaxe​

Python
from pyspark.sql import functions as sf

sf.hll_union_agg(col, allowDifferentLgConfigK=None)

Parâmetros​

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

A coluna contendo esboços HLL para merge.

allowDifferentLgConfigK

pyspark.sql.Column ou booleano, opcional

Permitir que esboços com valores de lgConfigK diferentes sejam mesclados (padrão: falso).

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

A coluna contendo esboços HLL para merge.

allowDifferentLgConfigK

pyspark.sql.Column ou booleano, opcional

Permitir que esboços com valores de lgConfigK diferentes sejam mesclados (padrão: falso).

Devoluções​

pyspark.sql.ColumnRepresentação binária da mesclagem HllSketch.

Exemplos​

Exemplo 1 : mesclar esboços HLL com configurações default

Python
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()
Output
+-------------------------------------------------+
|hll_sketch_estimate(hll_union_agg(sketch, false))|
+-------------------------------------------------+
| 6|
+-------------------------------------------------+

Exemplo 2 : mesclar esboços HLL com allowDifferentLgConfigK explícito

Python
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()
Output
+-------------------------------------------------+
|hll_sketch_estimate(hll_union_agg(sketch, false))|
+-------------------------------------------------+
| 6|
+-------------------------------------------------+