Skip to content

CPC functions in the Apache DataSketches DuckDB extension

Function category

CPC

7 functions

[Compressed Probability Counting](https://datasketches.apache.org/docs/CPC/CpcSketches.html) — distinct-counting at roughly 40% the size of HLL at the same accuracy, traded against slower serialization. Choose this when you store many sketches at rest.

datasketch_cpc

Aggregate function CPC
Signature
datasketch_cpc(col0: INTEGER, col1: FLOAT | BLOB | DOUBLE | …) sketch_cpc
Arguments (Positional)
Argument col0 Type INTEGER Mode Positional Description
Argument col1 Type FLOAT | BLOB | DOUBLE | …
12 concrete types
BIGINTBLOBDOUBLEFLOATINTEGERSMALLINTTINYINTUBIGINTUINTEGERUSMALLINTUTINYINTVARCHAR
Mode Positional Description
Description
1 Distinct-count with CPC
SELECT datasketch_cpc_estimate(datasketch_cpc(12, user_id)) AS distinct_users
FROM events;

datasketch_cpc_describe

Scalar function CPC
Signature
datasketch_cpc_describe(col0: sketch_cpc) VARCHAR
Arguments (Positional)
Argument col0 Type sketch_cpc Mode Positional Description
Description
1 Example 1
SELECT datasketch_cpc_describe(sketch);

datasketch_cpc_estimate

Scalar function CPC
Signature
datasketch_cpc_estimate(col0: sketch_cpc) DOUBLE
Arguments (Positional)
Argument col0 Type sketch_cpc Mode Positional Description
Description
1 Example 1
SELECT datasketch_cpc_estimate(sketch);

datasketch_cpc_is_empty

Scalar function CPC
Signature
datasketch_cpc_is_empty(col0: sketch_cpc) BOOLEAN
Arguments (Positional)
Argument col0 Type sketch_cpc Mode Positional Description
Description
1 Example 1
SELECT datasketch_cpc_is_empty(sketch);

datasketch_cpc_lower_bound

Scalar function CPC
Signature
datasketch_cpc_lower_bound(col0: sketch_cpc, col1: UTINYINT) DOUBLE
Arguments (Positional)
Argument col0 Type sketch_cpc Mode Positional Description
Argument col1 Type UTINYINT Mode Positional Description
Description
1 Example 1
SELECT datasketch_cpc_lower_bound(sketch, std_dev);

datasketch_cpc_union

Aggregate function CPC
Signature
datasketch_cpc_union(col0: INTEGER, col1: sketch_cpc) sketch_cpc
Arguments (Positional)
Argument col0 Type INTEGER Mode Positional Description
Argument col1 Type sketch_cpc Mode Positional Description
Description
1 Example 1
SELECT datasketch_cpc_union(k, data);

datasketch_cpc_upper_bound

Scalar function CPC
Signature
datasketch_cpc_upper_bound(col0: sketch_cpc, col1: UTINYINT) DOUBLE
Arguments (Positional)
Argument col0 Type sketch_cpc Mode Positional Description
Argument col1 Type UTINYINT Mode Positional Description
Description
1 Example 1
SELECT datasketch_cpc_upper_bound(sketch, std_dev);