quantilesTDigestWeighted
quantileTDigestWeighted, но позволяет вычислять несколько уровней квантилей за один проход, что эффективнее, чем вызывать отдельные функции для каждого квантиля.
Максимальная ошибка составляет 1%. Потребление памяти — log(n), где n — количество значений.
Производительность этой функции ниже, чем у quantiles или quantilesTiming.
По соотношению размера State и точности эта функция значительно превосходит quantiles.
Результат зависит от порядка выполнения запроса и является недетерминированным.
Использовать
quantilesTDigestWeighted не рекомендуется для очень маленьких наборов данных, так как это может привести к значительной погрешности.
В этом случае рассмотрите возможность использования quantilesTDigest вместо неё.level— Уровни квантилей. Одно или несколько константных чисел с плавающей запятой от 0 до 1. Рекомендуется использовать значенияlevelв диапазоне[0.01, 0.99].Float*
expr— Выражение над значениями столбца, возвращающее значения числового типа,DateилиDateTime.(U)Int*илиFloat*илиDateилиDateTimeweight— Столбец с весами элементов последовательности. Вес — это число вхождений значения.UInt*
Date и DateTime выходной формат соответствует входному формату. Array(Float32) или Array(Date) или Array(DateTime)
Примеры
Вычисление нескольких взвешенных квантилей с использованием t-digest
Query
Response