使用 Datasketches ANotB 对象返回 Datasketches ThetaSketch 对象的两个二进制表示形式(第一个草图中的元素而不是第二个二进制表示形式)的集差。
Syntax
from pyspark.sql import functions as sf
sf.theta_difference(col1, col2)
参数
| 参数 | 类型 | Description |
|---|---|---|
col1 |
pyspark.sql.Column 或 str |
第一个 Theta 草图。 |
col2 |
pyspark.sql.Column 或 str |
第二个 Theta 草图。 |
退货
pyspark.sql.Column:ThetaSketch 差异的二进制表示形式。
例子
示例 1:获取两个 Theta 草图的差异
from pyspark.sql import functions as sf
df = spark.createDataFrame([(1,4),(2,4),(3,5),(4,5)], "struct<v1:int,v2:int>")
df = df.agg(
sf.theta_sketch_agg("v1").alias("sketch1"),
sf.theta_sketch_agg("v2").alias("sketch2")
)
df.select(sf.theta_sketch_estimate(sf.theta_difference(df.sketch1, "sketch2"))).show()
+---------------------------------------------------------+
|theta_sketch_estimate(theta_difference(sketch1, sketch2))|
+---------------------------------------------------------+
| 3|
+---------------------------------------------------------+