Skip to content

Quantiles functions in the Apache DataSketches DuckDB extension

Function category

Quantiles

14 functions

Classic [mergeable quantile sketch](https://datasketches.apache.org/docs/Quantiles/ClassicQuantilesSketch.html) from the original DataSketches paper. Solid general-purpose choice supporting all numeric types; KLL is now preferred for new projects.

datasketch_quantiles

Aggregate function Quantiles
Signature
datasketch_quantiles(col0: INTEGER, col1: INTEGER | DOUBLE | UINTEGER | …) <sketch>
Arguments (Positional)
Argument col0 Type INTEGER Mode Positional Description
Argument col1 Type INTEGER | DOUBLE | UINTEGER | …
20 concrete types
BIGINTDOUBLEFLOATINTEGERSMALLINTTINYINTUBIGINTUINTEGERUSMALLINTUTINYINTsketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Return type varies by input — 10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Description
1 Example 1
SELECT datasketch_quantiles(k, data);

datasketch_quantiles_cdf

Scalar function Quantiles
Signature
datasketch_quantiles_cdf( col0: <sketch>, col1: <numeric>[], col2: BOOLEAN ) <numeric>[]
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Argument col1 Type <numeric>[]
10 concrete types
BIGINT[]DOUBLE[]FLOAT[]INTEGER[]SMALLINT[]TINYINT[]UBIGINT[]UINTEGER[]USMALLINT[]UTINYINT[]
Mode Positional Description
Argument col2 Type BOOLEAN Mode Positional Description
Return type varies by input — 10 concrete types
BIGINT[]DOUBLE[]FLOAT[]INTEGER[]SMALLINT[]TINYINT[]UBIGINT[]UINTEGER[]USMALLINT[]UTINYINT[]
Description
1 Example 1
SELECT datasketch_quantiles_cdf(sketch, points, inclusive);

datasketch_quantiles_describe

Scalar function Quantiles
Signature
datasketch_quantiles_describe( col0: <sketch>, col1: BOOLEAN, col2: BOOLEAN ) VARCHAR
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Argument col1 Type BOOLEAN Mode Positional Description
Argument col2 Type BOOLEAN Mode Positional Description
Description
1 Example 1
SELECT datasketch_quantiles_describe(sketch, include_levels, include_items);

datasketch_quantiles_is_empty

Scalar function Quantiles
Signature
datasketch_quantiles_is_empty(col0: <sketch>) BOOLEAN
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Description
1 Example 1
SELECT datasketch_quantiles_is_empty(sketch);

datasketch_quantiles_is_estimation_mode

Scalar function Quantiles
Signature
datasketch_quantiles_is_estimation_mode(col0: <sketch>) BOOLEAN
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Description
1 Example 1
SELECT datasketch_quantiles_is_estimation_mode(sketch);

datasketch_quantiles_k

Scalar function Quantiles
Signature
datasketch_quantiles_k(col0: <sketch>) USMALLINT
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Description
1 Example 1
SELECT datasketch_quantiles_k(sketch);

datasketch_quantiles_max_item

Scalar function Quantiles
Signature
datasketch_quantiles_max_item(col0: <sketch>) <numeric>
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Return type varies by input — 10 concrete types
BIGINTDOUBLEFLOATINTEGERSMALLINTTINYINTUBIGINTUINTEGERUSMALLINTUTINYINT
Description
1 Example 1
SELECT datasketch_quantiles_max_item(sketch);

datasketch_quantiles_min_item

Scalar function Quantiles
Signature
datasketch_quantiles_min_item(col0: <sketch>) <numeric>
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Return type varies by input — 10 concrete types
BIGINTDOUBLEFLOATINTEGERSMALLINTTINYINTUBIGINTUINTEGERUSMALLINTUTINYINT
Description
1 Example 1
SELECT datasketch_quantiles_min_item(sketch);

datasketch_quantiles_n

Scalar function Quantiles
Signature
datasketch_quantiles_n(col0: <sketch>) UBIGINT
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Description
1 Example 1
SELECT datasketch_quantiles_rank(sketch);

datasketch_quantiles_normalized_rank_error

Scalar function Quantiles
Signature
datasketch_quantiles_normalized_rank_error(col0: <sketch>, col1: BOOLEAN) DOUBLE
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Argument col1 Type BOOLEAN Mode Positional Description
Description
1 Example 1
SELECT datasketch_quantiles_normalized_rank_error(sketch, is_pmf);

datasketch_quantiles_num_retained

Scalar function Quantiles
Signature
datasketch_quantiles_num_retained(col0: <sketch>) UBIGINT
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Description
1 Example 1
SELECT datasketch_quantiles_num_retained(sketch);

datasketch_quantiles_pmf

Scalar function Quantiles
Signature
datasketch_quantiles_pmf( col0: <sketch>, col1: <numeric>[], col2: BOOLEAN ) <numeric>[]
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Argument col1 Type <numeric>[]
10 concrete types
BIGINT[]DOUBLE[]FLOAT[]INTEGER[]SMALLINT[]TINYINT[]UBIGINT[]UINTEGER[]USMALLINT[]UTINYINT[]
Mode Positional Description
Argument col2 Type BOOLEAN Mode Positional Description
Return type varies by input — 10 concrete types
BIGINT[]DOUBLE[]FLOAT[]INTEGER[]SMALLINT[]TINYINT[]UBIGINT[]UINTEGER[]USMALLINT[]UTINYINT[]
Description
1 Example 1
SELECT datasketch_quantiles_pmf(sketch, points, inclusive);

datasketch_quantiles_quantile

Scalar function Quantiles
Signature
datasketch_quantiles_quantile( col0: <sketch>, col1: DOUBLE, col2: BOOLEAN ) <numeric>
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Argument col1 Type DOUBLE Mode Positional Description
Argument col2 Type BOOLEAN Mode Positional Description
Return type varies by input — 10 concrete types
BIGINTDOUBLEFLOATINTEGERSMALLINTTINYINTUBIGINTUINTEGERUSMALLINTUTINYINT
Description
1 Example 1
SELECT datasketch_quantiles_rank(sketch, rank, inclusive);

datasketch_quantiles_rank

Scalar function Quantiles
Signature
datasketch_quantiles_rank( col0: <sketch>, col1: <numeric>, col2: BOOLEAN ) DOUBLE
Arguments (Positional)
Argument col0 Type <sketch>
10 concrete types
sketch_quantiles_bigintsketch_quantiles_doublesketch_quantiles_floatsketch_quantiles_integersketch_quantiles_smallintsketch_quantiles_tinyintsketch_quantiles_ubigintsketch_quantiles_uintegersketch_quantiles_usmallintsketch_quantiles_utinyint
Mode Positional Description
Argument col1 Type <numeric>
10 concrete types
BIGINTDOUBLEFLOATINTEGERSMALLINTTINYINTUBIGINTUINTEGERUSMALLINTUTINYINT
Mode Positional Description
Argument col2 Type BOOLEAN Mode Positional Description
Description
1 Example 1
SELECT datasketch_quantiles_rank(sketch, item, inclusive);