Skip to content

TDigest functions in the Apache DataSketches DuckDB extension

Function category

TDigest

9 functions

[t-digest](https://datasketches.apache.org/docs/tdigest/tdigest.html) — quantile sketch optimized for the tails (p99, p999). Most accurate where SLOs live; FLOAT/DOUBLE input only. Use when tail latencies or outliers matter more than median accuracy.

datasketch_tdigest

Aggregate function TDigest
Signature
datasketch_tdigest(col0: INTEGER, col1: sketch_tdigest_float | sketch_tdigest_double | DOUBLE | FLOAT) <sketch>
Arguments (Positional)
Argument col0 Type INTEGER Mode Positional Description
Argument col1 Type sketch_tdigest_float | sketch_tdigest_double | DOUBLE | FLOAT
4 concrete types
DOUBLEFLOATsketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Return type varies by input — 2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Description
1 Tail latency
SELECT datasketch_tdigest_quantile(
         datasketch_tdigest(100, latency_ms), 0.999
       ) AS p999
FROM requests;

datasketch_tdigest_cdf

Scalar function TDigest
Signature
datasketch_tdigest_cdf(col0: <sketch>, col1: <numeric>[]) <numeric>[]
Arguments (Positional)
Argument col0 Type <sketch>
2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Argument col1 Type <numeric>[]
2 concrete types
DOUBLE[]FLOAT[]
Mode Positional Description
Return type varies by input — 2 concrete types
DOUBLE[]FLOAT[]
Description
1 Example 1
SELECT datasketch_tdigest_cdf(sketch, points);

datasketch_tdigest_describe

Scalar function TDigest
Signature
datasketch_tdigest_describe(col0: <sketch>, col1: BOOLEAN) VARCHAR
Arguments (Positional)
Argument col0 Type <sketch>
2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Argument col1 Type BOOLEAN Mode Positional Description
Description
1 Example 1
SELECT datasketch_tdigest_describe(sketch, include_centroids);

datasketch_tdigest_is_empty

Scalar function TDigest
Signature
datasketch_tdigest_is_empty(col0: <sketch>) BOOLEAN
Arguments (Positional)
Argument col0 Type <sketch>
2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Description
1 Example 1
SELECT datasketch_tdigest_is_empty(sketch);

datasketch_tdigest_k

Scalar function TDigest
Signature
datasketch_tdigest_k(col0: <sketch>) USMALLINT
Arguments (Positional)
Argument col0 Type <sketch>
2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Description
1 Example 1
SELECT datasketch_tdigest_k(sketch);

datasketch_tdigest_pmf

Scalar function TDigest
Signature
datasketch_tdigest_pmf(col0: <sketch>, col1: <numeric>[]) <numeric>[]
Arguments (Positional)
Argument col0 Type <sketch>
2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Argument col1 Type <numeric>[]
2 concrete types
DOUBLE[]FLOAT[]
Mode Positional Description
Return type varies by input — 2 concrete types
DOUBLE[]FLOAT[]
Description
1 Example 1
SELECT datasketch_tdigest_pmf(sketch, points);

datasketch_tdigest_quantile

Scalar function TDigest
Signature
datasketch_tdigest_quantile(col0: <sketch>, col1: DOUBLE) <numeric>
Arguments (Positional)
Argument col0 Type <sketch>
2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Argument col1 Type DOUBLE Mode Positional Description
Return type varies by input — 2 concrete types
DOUBLEFLOAT
Description
1 Example 1
SELECT datasketch_tdigest_quantile(sketch, rank);

datasketch_tdigest_rank

Scalar function TDigest
Signature
datasketch_tdigest_rank(col0: <sketch>, col1: <numeric>) DOUBLE
Arguments (Positional)
Argument col0 Type <sketch>
2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Argument col1 Type <numeric>
2 concrete types
DOUBLEFLOAT
Mode Positional Description
Description
1 Example 1
SELECT datasketch_tdigest_rank(sketch, item);

datasketch_tdigest_total_weight

Scalar function TDigest
Signature
datasketch_tdigest_total_weight(col0: <sketch>) UBIGINT
Arguments (Positional)
Argument col0 Type <sketch>
2 concrete types
sketch_tdigest_doublesketch_tdigest_float
Mode Positional Description
Description
1 Example 1
SELECT datasketch_tdigest_total_weight(sketch);