hll_union

使用 Datasketches Union 对象合并 Datasketches HllSketch 对象的两个二进制表示形式。 如果草图具有不同的 lgConfigK 值并且 allowDifferentLgConfigK 未设置或设置为 false,则引发异常。

Syntax

from pyspark.sql import functions as sf

sf.hll_union(col1, col2, allowDifferentLgConfigK=None)

参数

参数 类型 Description
col1 pyspark.sql.Column 或 str 第一个 HLL 草图。
col2 pyspark.sql.Column 或 str 第二个 HLL 草图。
allowDifferentLgConfigK bool,可选 允许合并具有不同 lgConfigK 值的草图(默认值为 false)。

退货

pyspark.sql.Column:合并的 HllSketch 的二进制表示形式。

例子

示例 1:联合两个 HLL 草图

from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,4),(2,5),(2,5),(3,6)], "struct<v1:int,v2:int>")
df = df.agg(
    sf.hll_sketch_agg("v1").alias("sketch1"),
    sf.hll_sketch_agg("v2").alias("sketch2")
)
df.select(sf.hll_sketch_estimate(sf.hll_union(df.sketch1, "sketch2"))).show()
+-------------------------------------------------------+
|hll_sketch_estimate(hll_union(sketch1, sketch2, false))|
+-------------------------------------------------------+
|                                                      6|
+-------------------------------------------------------+