uniqHLL12
使用 HyperLogLog 算法计算不同参数值的近似数量。
uniqHLL12(x[, ...])
参数
该函数接受可变数量的参数。参数可以是 Tuple
、Array
、Date
、DateTime
、String
或数值类型。
返回值
- 一个 UInt64 类型的数字。
实现细节
函数
-
计算聚合中所有参数的哈希值,然后在计算中使用它。
-
使用 HyperLogLog 算法来近似不同参数值的数量。
使用 2^12 个 5 位单元格。状态大小略大于 2.5 KB。对于小型数据集(<10K 个元素),结果不是很准确(误差高达约 10%)。但是,对于高基数数据集(10K-100M),结果相当准确,最大误差约为 1.6%。从 100M 开始,估计误差增加,并且对于具有极高基数(1B+ 个元素)的数据集,该函数将返回非常不准确的结果。
-
提供确定性结果(它不依赖于查询处理顺序)。
我们不建议使用此函数。在大多数情况下,请使用 uniq 或 uniqCombined 函数。
参见