メインコンテンツまでスキップ

hll_union_agg

集計関数: 以前に作成された Datasketches HllSketch インスタンスを Datasketches Union インスタンスを介してマージすることによって生成された、Datasketches HllSketch の更新可能なバイナリ表現を返します。スケッチに異なる lgConfigK 値があり、allowDifferentLgConfigK が設定されていないか false に設定されている場合は例外をスローします。

構文

Python
from pyspark.sql import functions as sf

sf.hll_union_agg(col, allowDifferentLgConfigK=None)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または文字列

マージする HLL スケッチを含む列。

allowDifferentLgConfigK

pyspark.sql.Column またはブール値(オプション)

異なる lgConfigK 値を持つスケッチをマージできるようにします (デフォルトは false)。

戻り値

pyspark.sql.Column: マージされた HllSketch のバイナリ表現。

例1 : デフォルト設定でHLLスケッチをマージする

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

例2 : 明示的なallowDifferentLgConfigKを使用してHLLスケッチをマージする

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