Skip to main content

theta_union

Merges two binary representations of Datasketches Theta Sketch objects, using a Datasketches Union object.

Syntax

Python
from pyspark.sql import functions as sf

sf.theta_union(col1, col2, lgNomEntries=None)

Parameters

Parameter

Type

Description

col1

pyspark.sql.Column or str

The first Theta sketch.

col2

pyspark.sql.Column or str

The second Theta sketch.

lgNomEntries

pyspark.sql.Column or int, optional

The log-base-2 of nominal entries for the union operation (must be between 4 and 26, defaults to 12).

Parameter

Type

Description

col1

pyspark.sql.Column or str

The first Theta sketch.

col2

pyspark.sql.Column or str

The second Theta sketch.

lgNomEntries

pyspark.sql.Column or int, optional

The log-base-2 of nominal entries for the union operation (must be between 4 and 26, defaults to 12).

Returns

pyspark.sql.Column: The binary representation of the merged Theta Sketch.

Examples

Example 1: Union two Theta sketches

Python
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.theta_sketch_agg("v1").alias("sketch1"),
sf.theta_sketch_agg("v2").alias("sketch2")
)
df.select(sf.theta_sketch_estimate(sf.theta_union(df.sketch1, "sketch2"))).show()
Output
+--------------------------------------------------------+
|theta_sketch_estimate(theta_union(sketch1, sketch2, 12))|
+--------------------------------------------------------+
| 6|
+--------------------------------------------------------+