Функции 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 должно быть больше нуля и меньше единицы и должно быть постоянным для всех входных строк.