mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-28 02:21:59 +00:00
c1b71ab06e
* 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>
42 lines
2.7 KiB
Markdown
42 lines
2.7 KiB
Markdown
---
|
||
toc_priority: 194
|
||
---
|
||
|
||
# uniqHLL12 {#agg_function-uniqhll12}
|
||
|
||
Вычисляет приблизительное число различных значений аргументов, используя алгоритм [HyperLogLog](https://en.wikipedia.org/wiki/HyperLogLog).
|
||
|
||
``` sql
|
||
uniqHLL12(x[, ...])
|
||
```
|
||
|
||
**Параметры**
|
||
|
||
Функция принимает переменное число входных параметров. Параметры могут быть числовых типов, а также `Tuple`, `Array`, `Date`, `DateTime`, `String`.
|
||
|
||
**Возвращаемое значение**
|
||
|
||
- Значение хэша с типом данных [UInt64](../../../sql-reference/data-types/int-uint.md).
|
||
|
||
**Детали реализации**
|
||
|
||
Функция:
|
||
|
||
- Вычисляет хэш для всех параметров агрегации, а затем использует его в вычислениях.
|
||
|
||
- Использует алгоритм HyperLogLog для аппроксимации числа различных значений аргументов.
|
||
|
||
Используется 212 5-битовых ячеек. Размер состояния чуть больше 2.5 КБ. Результат не точный (ошибка до ~10%) для небольших множеств (<10K элементов). Однако для множеств большой кардинальности (10K - 100M) результат довольно точен (ошибка до ~1.6%). Начиная с 100M ошибка оценки будет только расти и для множеств огромной кардинальности (1B+ элементов) функция возвращает результат с очень большой неточностью.
|
||
|
||
- Результат детерминирован (не зависит от порядка выполнения запроса).
|
||
|
||
Мы не рекомендуем использовать эту функцию. В большинстве случаев используйте функцию [uniq](../../../sql-reference/aggregate-functions/reference/uniq.md#agg_function-uniq) или [uniqCombined](../../../sql-reference/aggregate-functions/reference/uniqcombined.md#agg_function-uniqcombined).
|
||
|
||
|
||
- [uniq](../../../sql-reference/aggregate-functions/reference/uniq.md#agg_function-uniq)
|
||
- [uniqCombined](../../../sql-reference/aggregate-functions/reference/uniqcombined.md#agg_function-uniqcombined)
|
||
- [uniqExact](../../../sql-reference/aggregate-functions/reference/uniqexact.md#agg_function-uniqexact)
|
||
|
||
|
||
[Оригинальная статья](https://clickhouse.tech/docs/en/sql-reference/aggregate-functions/reference/uniqhll12/) <!--hide-->
|