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