Функции quantile digest#

Структуры данных#

Quantile digest — это структура-скетч данных, которая хранит приблизительную информацию о процентилях. Тип Trino для этой структуры данных называется qdigest и принимает параметр, который должен быть одним из bigint, double или real; эти типы представляют набор чисел, которые могут быть добавлены в qdigest. Их можно объединять без потери точности, а для хранения и извлечения выполнять приведение к/из VARBINARY.

Функции#

merge(qdigest) qdigest

Объединяет все входные qdigest в один qdigest.

value_at_quantile(qdigest(T), quantile) T#

Возвращает приблизительное значение процентиля из quantile digest для числа quantile между 0 и 1.

quantile_at_value(qdigest(T), T) quantile#

Возвращает приблизительное число quantile между 0 и 1 из quantile digest для заданного входного значения. Возвращается null, если quantile digest пустой или входное значение находится вне диапазона quantile digest.

values_at_quantiles(qdigest(T), quantiles) -> array(T)#

Возвращает приблизительные значения процентилей в виде массива для заданного входного quantile digest и массива значений между 0 и 1, которые представляют возвращаемые квантили.

qdigest_agg(x) -> qdigest([same as x])#

Возвращает qdigest, который состоит из всех входных значений x.

qdigest_agg(x, w) -> qdigest([same as x])

Возвращает qdigest, который состоит из всех входных значений x с использованием веса w для каждого элемента.

qdigest_agg(x, w, accuracy) -> qdigest([same as x])

Возвращает qdigest, который состоит из всех входных значений x с использованием веса w для каждого элемента и максимальной погрешности accuracy. accuracy должно быть значением больше нуля и меньше единицы, и оно должно быть постоянным для всех входных строк.