Функции Q-Digest#
Структуры данных#
Q-digest — это структура данных (скетч), которая хранит приблизительную информацию о процентилях.
Тип CedrusData для данной структуры данных называется qdigest, и он принимает параметр,
который должен быть одним из типов bigint, double или real, представляющих набор чисел, которые могут быть обработаны qdigest.
Q-digest можно объединять без потери точности, а для хранения и извлечения их можно приводить к/из типа VARBINARY.
Функции#
- merge(qdigest) qdigest
Объединяет все входные
qdigestв один Q-digest.
- value_at_quantile(qdigest(T), quantile) T#
Возвращает приблизительное значение процентиля из
qdigestдля заданного числаquantileв диапазоне от 0 до 1.
- quantile_at_value(qdigest(T), T) quantile#
Возвращает приблизительное значение квантиля
quantileв диапазоне от 0 до 1 изqdigestдля заданного входного значения. ВозвращаетNULL, еслиqdigestпуст или входное значение находится за пределами диапазона Q-digest.
- values_at_quantiles(qdigest(T), quantiles) -> array(T)#
Возвращает приблизительные значения процентилей в виде массива для заданного
qdigestи массива значений от 0 до 1, представляющих запрашиваемые квантили.
- qdigest_agg(x) -> qdigest([same as x])#
Возвращает Q-digest, составленный из всех входных значений
x.
- qdigest_agg(x, w) -> qdigest([same as x])
Возвращает Q-digest, составленный из всех входных значений
xс использованием поэлементного весаw.
- qdigest_agg(x, w, accuracy) -> qdigest([same as x])
Возвращает Q-digest, составленный из всех входных значений
xс использованием поэлементного весаwи максимальной погрешностиaccuracy. Значениеaccuracyдолжно быть больше нуля и меньше единицы и должно быть постоянным для всех входных строк.