ClickHouse/docs/ru/sql-reference/aggregate-functions/reference/uniqhll12.md
BayoNet c1b71ab06e
DOCS-733: Fixed broken links in Russian version (#13106)
* CLICKHOUSEDOCS-733: Fixed some broken links. Updated introduction and TOC in aggregate functions.

* CLICKHOUSEDOCS-733: Fixed files endings.

* CLICKHOUSEDOCS-733: Returned the list of functions back to reference index.

Co-authored-by: Sergei Shtykov <bayonet@yandex-team.ru>
Co-authored-by: emironyuk <em@don.ru>
2020-07-30 15:49:19 +03:00

2.7 KiB
Raw Blame History

toc_priority
194

uniqHLL12

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

uniqHLL12(x[, ...])

Параметры

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

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

  • Значение хэша с типом данных UInt64.

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

Функция:

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

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

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

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

Оригинальная статья