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

uniqHLL12

Выдает приблизительное количество различных значений аргументов, используя алгоритм HyperLogLog.

uniqHLL12(x[, ...])

Аргументы

Функция принимает переменное количество параметров. Параметры могут быть Tuple, Array, Date, DateTime, String или числовыми типами.

Возвращаемое значение

Детали реализации

Функция:

  • Вычисляет хеш для всех параметров в агрегате, затем использует его в расчетах.

  • Использует алгоритм HyperLogLog для приближенного подсчета количества различных значений аргументов.

    Используются 2^12 5-битовых ячеек. Размер состояния немного больше 2.5 КБ. Результат не очень точен (до ~10% ошибки) для небольших наборов данных (<10K элементов). Однако результат довольно точен для наборов данных с высокой кардинальностью (10K-100M), с максимальной ошибкой около ~1.6%. Начиная с 100M, ошибка оценки увеличивается, и функция будет возвращать очень неточные результаты для наборов данных с чрезвычайно высокой кардинальностью (1B+ элементов).

  • Обеспечивает детерминированный результат (он не зависит от порядка обработки запроса).

Мы не рекомендуем использовать эту функцию. В большинстве случаев используйте функцию uniq или uniqCombined.

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