quantileGK
Вычисляет квантиль числовой последовательности данных с использованием алгоритма Greenwald-Khanna. Алгоритм Greenwald-Khanna используется для вычисления квантилей на потоке данных с высокой эффективностью. Он был представлен Майклом Гринвалдом и Сандживом Канной в 2001 году. Широко применяется в базах данных и системах больших данных, где необходимо вычисление точных квантилей на большом потоке данных в реальном времени. Алгоритм чрезвычайно эффективен, требует всего лишь O(log n) памяти и O(log log n) времени на элемент (где n — размер входных данных). Он также обладает высокой точностью, предоставляя приближенное значение квантиля с высокой вероятностью.
quantileGK
отличается от других функций квантиля в ClickHouse, так как позволяет пользователю контролировать точность приближенного результата квантиля.
Синтаксис
Псевдоним: medianGK
.
Аргументы
-
accuracy
— Точность квантиля. Положительное целое число. Большое значение точности означает меньшее значение ошибки. Например, если аргумент точности установлен на 100, вычисленный квантиль будет иметь ошибку не более 1% с высокой вероятностью. Существует компромисс между точностью вычисленных квантилей и вычислительной сложностью алгоритма. Большая точность требует больше памяти и вычислительных ресурсов для точного вычисления квантиля, в то время как меньший аргумент точности позволяет выполнить вычисление быстрее и с меньшими затратами памяти, но с чуть меньшей точностью. -
level
— Уровень квантиля. Необязательный параметр. Константное число с плавающей точкой от 0 до 1. Значение по умолчанию: 0.5. Приlevel=0.5
функция вычисляет медиану. -
expr
— Выражение над значениями колонки, результирующее в числовых типах данных, Date или DateTime.
Возвращаемое значение
- Квантиль заданного уровня и точности.
Тип:
- Float64 для входных данных числового типа.
- Date, если входные значения имеют тип
Date
. - DateTime, если входные значения имеют тип
DateTime
.
Пример
См. также