Перейти к основному содержимому
Перейти к основному содержимому

quantileDD

quantileDD

Введена в версии v24.1

Вычисляет приближенный квантиль выборки с гарантированными относительными ошибками. Работает за счет построения структуры данных DD.

Синтаксис

quantileDD(relative_accuracy, [level])(expr)

Псевдонимы: medianDD

Параметры

  • relative_accuracy — Относительная точность квантиля. Возможные значения находятся в диапазоне от 0 до 1. Размер скетча зависит от диапазона данных и относительной точности. Чем больше диапазон и меньше относительная точность, тем больше скетч. Приблизительный размер скетча в памяти равен log(max_value/min_value)/relative_accuracy. Рекомендуемое значение — 0.001 или выше. Float*
  • level — Необязательный параметр. Уровень квантиля. Возможные значения находятся в диапазоне от 0 до 1. Значение по умолчанию: 0.5. Float*

Аргументы

  • expr — Столбец с числовыми данными. (U)Int* или Float*

Возвращаемое значение

Приблизительный квантиль указанного уровня. Float64

Примеры

Вычисление квантиля с помощью DD sketch

CREATE TABLE example_table (a UInt32, b Float32) ENGINE = Memory;
INSERT INTO example_table VALUES (1, 1.001), (2, 1.002), (3, 1.003), (4, 1.004);

SELECT quantileDD(0.01, 0.75)(a), quantileDD(0.01, 0.75)(b) FROM example_table;
┌─quantileDD(0.01, 0.75)(a)─┬─quantileDD(0.01, 0.75)(b)─┐
│        2.974233423476717  │                      1.01 │
└───────────────────────────┴───────────────────────────┘

См. также