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

quantileGK

Вычисляет квантили числовой последовательности данных с использованием алгоритма Гринвальда-Ханны. Алгоритм Гринвальда-Ханны используется для вычисления квантилей в потоке данных с высокой эффективностью. Он был представлен Майклом Гринвальдом и Сантивом Ханной в 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.

Пример

Смотрите также